mod_rewrite 404和重写不起作用

时间:2011-02-04 08:42:43

标签: php .htaccess mod-rewrite http-status-code-404 url-rewriting

问候,

我无法让我的htaccess mod_rewrite正常工作.. 我有一些基本的RewriteRules用于一些静态底层,一个来自非www版本的重定向,现在我想添加一个自定义的404页面(在我的webroot中称为404.php。

当我尝试访问underpage时,它只会一遍又一遍地向我发送404消息......任何人都可以看到此代码有任何问题吗?

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(.*)$ /404.php [L]
RewriteCond %{HTTP_HOST} ^dhb\.nu$
RewriteRule (.*) http://www.dhb.nu/$1 [R=301,L]
RewriteRule ^policy/$ page.php?page_id=11
RewriteRule ^cookies/$ page.php?page_id=13

提前致谢!

2 个答案:

答案 0 :(得分:1)

尝试使用:

ErrorDocument 404 /404.php

在此处阅读更多内容:http://www.garnetchaney.com/htaccess_tips_and_tricks.shtml

答案 1 :(得分:0)

而不是

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^/?(.*)$ /404.php [L]

你应该真的使用ErrorDocument指令:

ErrorDocument 404 /404.php