如何在.htaccess中使用ErrorDocument在浏览器中保留URI?

时间:2016-08-26 20:41:33

标签: apache .htaccess redirect

我在.htaccess中有一个简单的404错误重定向到我的脚本,如下所示:

ErrorDocument 404 https://example.com/error.pl?q=404

但是在重定向时,地址在浏览器的地址栏中从错误的地址(从中执行重定向)更改为此https://example.com/error.pl?q=404

如何在重定向到自定义错误页面时将初始地址保留在浏览器地址栏中?

非常感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

使用不带域名的链接:

ErrorDocument 404 /error.pl?q=404
  

请注意,指定指向远程的ErrorDocument时   URL(即任何方法,如前面有http的方法),Apache   HTTP Server将向客户端发送重定向以告知它在哪里   找到文档,即使文档最终都在同一个文档上   服务器。这有几个含义,最重要的是   客户端将不会收到原始错误状态代码,但是   而是将收到重定向状态代码。这反过来可能会混淆   尝试确定URL是否有效的Web机器人和其他客户端   使用状态代码。   https://httpd.apache.org/docs/2.4/en/mod/core.html#errordocument