通过路由在不存在的文件夹中手动Http错误响应代码

时间:2014-06-04 05:04:54

标签: .htaccess http routing

当我尝试手动发送错误响应时,我遇到了意外行为。 如果我的.htaccess负责错误响应,则会加载并显示相应的错误文档,并在浏览器控制台中显示相应的响应代码。

但是,如果我的路由器是响应代码的来源,那么我会得到空白屏幕,但是响应代码正确。

.htaccess看起来像这样

RewriteEngine On
# RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule !\.(css|js|icon|zip|rar|png|jpg|gif|pdf)$ index.php [L]

ErrorDocument 404 /err/404.html
ErrorDocument 403 /err/403.html
ErrorDocument 500 /err/500.html

发送响应的路由器的一部分是以下

header("HTTP/1.1 403 Forbidden");

我也试过HTTP/1.0。 此外,我认为可能是错误页面的相对路径可能是一个问题,但在尝试访问通过.htaccess

禁止的文档后丢弃了这个想法

修改

我还应该指出,这种情况发生在请求不存在的文章的URL时。 Server是否可能在基于URL的文件夹中查找.htaccess文件?例如:domain/blog/non-existent,服务器是否正在寻找blog文件夹?我特别问这个,因为没有blog文件夹

1 个答案:

答案 0 :(得分:0)

尝试输入此代码

ErrorDocument 404 /err/404.html
ErrorDocument 403 /err/403.html
ErrorDocument 500 /err/500.html

之前

RewriteEngine On

当然要检查您是否清除缓存或使用其他浏览器