如何不重定向到特定域页面的 404 页面

How to not redirect to 404 page for a specific domain page

我想在我的网站上添加一个 404 页面,但我遇到了一些问题。

我制作了一个 .htaccess 文件:

ErrorDocument 404 /404.html

它工作正常,但我不希望它每次都给出 404。

我想要的是 htaccess 不会将您重定向到特定域名页面的 404 页面。

如果您不希望为特定域定义 ErrorDocument,则将 ErrorDocument 指令包含在否定的 <If> 表达式中,该表达式检查所请求的 Host header 不是 example.com(您要排除的域)。

例如(需要 Apache 2.4):

<If "%{HTTP_HOST} != 'example.com'">
    ErrorDocument 404 /404.html
</If>

ErrorDocument 是为每个请求的主机定义的,example.com 除外。 (显然,在请求 non-existent 资源时,您仍然会收到针对该其他域的 404 响应,但不会提供 /404.html。)


旁白:

the htaccess dosn't redirect you to the 404 page

可能只是术语,但这里并没有“重定向”(如外部 3xx 重定向)。错误文档与内部子请求一起提供。您可以更改 ErrorDocument 指令,使其触发“重定向”,但这很少是可取的。