【问题标题】:How to keep URI in the browser using ErrorDocument in .htaccess?如何使用 .htaccess 中的 ErrorDocument 将 URI 保留在浏览器中?
【发布时间】:2016-08-26 20:41:32
【问题描述】:

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

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

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

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

非常感谢您的帮助!

【问题讨论】:

    标签: apache .htaccess redirect


    【解决方案1】:

    使用不带域名的链接:

    ErrorDocument 404 /error.pl?q=404
    

    请注意,当您指定指向远程的 ErrorDocument URL(即前面带有 http 等方法的任何内容)、Apache HTTP 服务器将向客户端发送一个重定向,告诉它去哪里 找到文档,即使文档最终位于同一位置 服务器。这有几个含义,最重要的是 客户端不会收到原来的错误状态码,但是 而是会收到一个重定向状态代码。这反过来又会混淆 尝试确定 URL 是否有效的网络机器人和其他客户端 使用状态码。 https://httpd.apache.org/docs/2.4/en/mod/core.html#errordocument

    【讨论】:

    • 这正是我写的评论:) ++
    • @anubhava 谢谢你哦我的主人 ;-)
    • 谢谢!!像魅力一样工作!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-04
    • 2021-09-07
    • 1970-01-01
    • 2022-07-06
    • 2015-12-13
    • 2011-09-08
    • 2016-11-11
    相关资源
    最近更新 更多