![当我的服务器主机阻止 .htaccess 时,WordPress 404 页面如何起作用?](https://linux22.com/image/709163/%E5%BD%93%E6%88%91%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%BB%E6%9C%BA%E9%98%BB%E6%AD%A2%20.htaccess%20%E6%97%B6%EF%BC%8CWordPress%20404%20%E9%A1%B5%E9%9D%A2%E5%A6%82%E4%BD%95%E8%B5%B7%E4%BD%9C%E7%94%A8%EF%BC%9F.png)
我有两个网站运行着 WordPress,404 页面可以正常工作,但当我尝试创建自己的 .htaccess 时,它却不起作用,并重定向到我的网站托管商的 404 页面。此外,.htaccess 是付费的,而我使用的是免费计划。
答案1
当我的服务器主机阻止 .htaccess 时,WordPress 404 页面如何起作用?
WordPress 404 页面完全由 WordPress/PHP 生成并提供。它们与服务器错误文档无关。
但是当我尝试创建自己的 .htaccess 时,它不起作用并重定向到我的网络主机的 404 页面。
默认服务器错误文档可能由您的主机在服务器配置中定义(您无权访问)。或者,您只是看到 Apache 的默认错误文档?
但是您的 WordPress 404 页面怎么了?
更新:这里有一个例子:Wordpress:点击和非 wordpress:点击。
看过“非 WordPress”网站和“网络主机”404 页面的示例后,似乎您的主机在您的域上定义了一个简单的错误文档(您无法覆盖),该文档向不同域上的网络主机的 404 页面发出元刷新。
主机可能已将其定义为服务器配置中的单个指令,类似于:
ErrorDocument 404 "<html><head><meta http-equiv=\"refresh\" content=\"0;http://errors.biz.nf/404.php\" /></head><body></body></html>"
对您网站上不存在的文件的初始请求将返回 404 和以下响应主体(为清楚起见添加了换行符):
<html><head>
<meta http-equiv="refresh" content="0;http://errors.biz.nf/404.php" />
</head><body></body></html>
浏览器收到此信息后,会立即向http://errors.biz.nf/404.php
(不同的域)发出第二个请求,该请求也会发出 404(这是网络主机的 404 页面)。
这无疑是“免费计划”的一个不幸的警告。