ErrorDocument似乎没有在我的.htaccess中工作

时间:2010-09-09 11:09:00

标签: php apache .htaccess errordocument

有人可以提出建议吗?我想让我的网站访问者的默认页面为index.php,访问者应该看到所有不存在的页面errordoc.php

所以我把它放在了.htaccess:

ErrorDocument 404 /errordoc.php

Options +FollowSymLinks
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} !^mysite\.org\.uk$ [NC]
RewriteRule ^(.*)$ http://mysite.org.uk/$1 [R=301,L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

不幸的是,一切都将转向index.php,包括错误。我试过问我的朋友谷歌,但这是他今天休息的日子!

2 个答案:

答案 0 :(得分:2)

您的上一条规则将捕获无法映射到现有文件(RewriteCond %{REQUEST_FILENAME} !-f)或现有目录(RewriteCond %{REQUEST_FILENAME} !-d)的所有请求。这就是错误文档无法提供的原因。

答案 1 :(得分:1)

此文件中有2个不兼容的部分。选择一个 只保留第一行或仅保留文件的其余部分。但不是两个。

底部三行告诉web-server将所有不存在的页面指向index.php,而不是errordoc.php