.htaccess根没有文件夹重写

时间:2015-03-16 03:45:32

标签: php apache .htaccess mod-rewrite

我花了无数个小时寻找类似的问题,发现解决方案对我不起作用。我有一个带有' id '的index.php 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 /文件夹。它干扰了最后的RewriteRule,我不知道如何解决这个问题。

我的目标是保持mydomain.com/[idVariableHere] 对这些重要文件夹的限制。请帮忙。

2 个答案:

答案 0 :(得分:1)

这样做:

ErrorDocument 404 default
ErrorDocument 403 default

RewriteEngine On
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^/]+)/?$ index.php?id=$1 [L,QSA]

答案 1 :(得分:0)

据我所知,您希望.htaccess阻止访问/ js /,/ css /和/ images /文件夹。假设这些在根中找到。只需使用以下代码在每个文件夹中创建.htaccess文件:

deny from all

这取自:

deny direct access to a folder and file by htaccess

相关问题