我有文件夹home / admin。在这个文件夹中有index.php。 当我访问domain.com/admin/时,我的mod_rewrite规则将其重定向到主文件夹中的index.php。我希望mod_rewrite跳过现有的文件夹或文件,以及/ admin /文件夹的特殊情况,其中包含index.php文件。
我的重写规则是:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^$ index.html [QSA]
RewriteRule ^([^.]+)$ $1.html [QSA]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>
感谢。
答案 0 :(得分:3)
尝试更改
RewriteCond %{REQUEST_FILENAME} !-f
到
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
这将跳过目录和文件
编辑: 我认为这个规则出错了(也是):
RewriteRule ^([^.]+)$ $1.html [QSA]
试试这个
RewriteRule (^|/)([^.]+)$ $2.html [QSA]