如何不重定向到特定域页面的 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
指令,使其触发“重定向”,但这很少是可取的。
我想在我的网站上添加一个 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
指令,使其触发“重定向”,但这很少是可取的。