我似乎有500个错误页面,没有404错误页面,为什么?

时间:2013-08-10 02:48:57

标签: .htaccess http-status-code-404 custom-error-pages

我正在尝试创建自定义500和404错误页面

这是我的.htaccess页面:

Options -MultiViews
    RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !\.php$
RewriteRule ^(.*)$ $1.php [L,QSA]

ErrorDocument 404 "Sorry, this page was not found"
ErrorDocument 500 "Sorry, something went wrong, try again later" 

这是一个404页面http://example.com/cats - 不是一个页面(但它显示为500页)

并且这个应该是500 http://example.com/dogs - 一个页面(因为返回的查询是空白的)但它根本不是一个错误消息 - 猜测这应该是一个500无论如何,我希望它是< / p>

它似乎总是显示500而没有404,但我无法弄清楚如何停止/修复它,任何想法???

现在修复

1 个答案:

答案 0 :(得分:1)

如果php抛出异常而不是逻辑错误,则仅抛出500。返回空白结果的select查询不被php视为错误,因为有时查询将返回空白结果作为合法代码流的一部分。

关于获得500而不是400,这里http://www.javascriptkit.com/howto/htaccess2.shtml显示您应该转发到页面而不是尝试传入字符串。设置一个您想要显示的页面,然后将该URL放在您的htaccess

中 像这样:

ErrorDocument 500 /errors/serverr.html