【问题标题】:How to redirect 404 error page with 404 response code to a custom page using htaccess如何使用 htaccess 将带有 404 响应代码的 404 错误页面重定向到自定义页面
【发布时间】:2014-01-19 22:12:49
【问题描述】:

我想将 404 错误页面重定向到自定义 404 页面。例如,如果 http://example.com/abc.html 导致 404 错误,我想将页面重定向到 http://example.com/404.html 并使用 404 http 响应代码。有可能吗?

【问题讨论】:

  • 有可能,但这取决于您的设置。你在做什么?

标签: .htaccess http-status-code-404


【解决方案1】:

到目前为止,还没有将 404 错误页面重定向到具有 404 http 响应代码的自定义 404 页面的选项。要获得 404 http 响应代码,您需要显示自定义 404 错误页面内容,无需重定向,如下代码:

ErrorDocument 404 /404.html

如果您使用以下代码,404 错误页面将被重定向到带有 302 http 响应代码的自定义 404 页面

ErrorDocument 404 http://www.yourdomain.com/404.html

【讨论】:

    【解决方案2】:

    由于您使用的是 Apache,因此可以使用 ErrorDocument 指令 (docs)。

    我们鼓励您为此使用内部重写,以便客户端收到请求的正确状态码 (404)。如果你让它重定向到这个页面,客户端将收到一个 301 或 302 标头而不是不存在的页面,这可能会混淆自动 web 服务,例如 webcrawler。

    使其内部重写:

    ErrorDocument 404 /404.html
    

    使其外部重定向

    ErrorDocument 404 http://yoursite.com/404.html
    

    【讨论】:

    • 我知道,但是“ErrorDocument 404 yoursite.com/404.html”的 http 响应代码将是 302 而不是 404。我需要 404 重定向和 404 http 响应代码。有什么办法可以实现。
    • 3xx 范围用于表示重定向。虽然带有404 标头的重定向可能 有效,但它不受支持,我强烈建议不要这样做。 httpd.apache.org/docs/current/rewrite/flags.html
    猜你喜欢
    • 2018-04-18
    • 2015-08-01
    • 1970-01-01
    • 2016-11-21
    • 2023-03-10
    • 2012-10-01
    • 2014-12-23
    • 2013-06-09
    • 1970-01-01
    相关资源
    最近更新 更多