我花了无数个小时寻找类似的问题,并找到了不适合我的解决方案。我有一个索引.php带有"id"GET变量,可以动态加载页面为 mydomain.com/[idVariableHere]。
我的 .htaccess 代码有效:
RewriteEngine On
RewriteBase /
RewriteRule ^(js|css|images)($|/) - [L,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ /index.php?id=$1 [L,QSA]
但是,它不会阻止显示/js/、/css/和/images/文件夹。它干扰了最后的重写规则,我不知道如何解决这个问题。
我的目标是保持 mydomain.com/[idVariableHere]对这些重要文件夹的限制。请帮忙。
这样说:
ErrorDocument 404 default
ErrorDocument 403 default
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ index.php?id=$1 [L,QSA]
据我了解,您需要一个 .htaccess 来阻止访问/js/、/css/和/images/文件夹。假设这些是在根中找到的。只需使用以下代码在每个文件夹中创建一个 .htaccess 文件:
deny from all
这取自:
拒绝 HTaccess 对文件夹和文件的直接访问