帮助mod_rewrite

时间:2009-05-26 13:43:33

标签: php mod-rewrite

我有文件夹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>

感谢。

1 个答案:

答案 0 :(得分:3)

尝试更改

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

这将跳过目录和文件

编辑: 我认为这个规则出错了(也是):

RewriteRule ^([^.]+)$ $1.html [QSA]

试试这个

RewriteRule (^|/)([^.]+)$ $2.html [QSA]