我正在尝试创建自定义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,但我无法弄清楚如何停止/修复它,任何想法???
现在修复
答案 0 :(得分:1)
如果php抛出异常而不是逻辑错误,则仅抛出500。返回空白结果的select查询不被php视为错误,因为有时查询将返回空白结果作为合法代码流的一部分。
关于获得500而不是400,这里http://www.javascriptkit.com/howto/htaccess2.shtml显示您应该转发到页面而不是尝试传入字符串。设置一个您想要显示的页面,然后将该URL放在您的htaccess
中 像这样:ErrorDocument 500 /errors/serverr.html