0

我正在尝试创建自定义 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,我希望它是

它似乎总是显示 500 而没有 404,但我不知道如何停止/修复它,有什么想法吗???

现已修复

4

1 回答 1

1

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

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

像这样:

ErrorDocument 500 /errors/serverr.html
于 2013-08-10T05:19:28.440 回答