这似乎很简单,但我无法弄清楚......我想所有的请求被重写为index.php(它将解释请求)除了 404.html这应该被直接改写为404.php。简单的重写规则问题
下面的代码在将所有内容重写为index.php时都有效,但是404.php永远不会被触发。
我已经留下第3行评论,因为我不知道它是干什么的。
Options +FollowSymlinks
RewriteEngine on
#RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^404.html$ 404.php [L]
RewriteRule ^(.*)$ index.php [QSA]
正如您所见,我的需求非常简单,但我的大脑也是如此!请帮忙!
谢谢。
编辑
这条线工作在自己的罚款:
RewriteRule ^404.html$ 404.php
,而是引入了其他重写规则的时候,一切都被通过的index.php强制 - 甚至404.html .... ..(我也尝试改变顺序)。
第三行表示'以下规则仅适用于所请求的文件名不是现有文件的情况。 (-f是一个文件,-d是一个目录,等等) – 2010-09-09 11:35:14