.htaccess为什么不重定向?

时间:2013-06-04 11:22:20

标签: .htaccess mod-rewrite

我有这个.htaccess文件:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

如果我理解正确,它应该:

如果建立了具有大小或符号链接的文件,则不执行任何操作, 在任何其他情况下重定向到index.php

如果我打开www.mysite.com/folder/,我会收到index.php

如果我打开www.mysite.com/folder/file.php,我会收到file.php

如果我打开的www.mysite.com/test不是folder file404 errorindex.php,我应该{{1}}。我的错误在哪里?

1 个答案:

答案 0 :(得分:1)

为什么不把它转过来让它更简单?

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l
RewriteRule ^.*$ index.php [NC,L]

这应该将所有文件(带内容)和符号链接重写为index.php,并且不做任何其他事情。 减少线条,减少混乱..