【发布时间】:2012-08-02 14:47:43
【问题描述】:
我有一个使用自定义 404 错误页面的网站设置。这似乎适用于大多数页面。
事实上,我有两个不同的错误页面想要显示,现在还有第三个是我刚刚发现的。
此页面不存在,它显示了在找不到页面时应显示的正确错误页面。这显示了在我的 .htaccess 文件中配置的错误页面: http://www.canadiancommuter.com/wontfindthis.php
如果有人试图访问数据库中不再存在的旧文章,则会从我的 PHP 代码生成此错误页面: http://www.canadiancommuter.com/2334054466-some+old+article.html
但是,此链接也会生成 404 错误,但会显示不同的错误页面(通常包括广告): http://www.canadiancommuter.com/2012062500-TTC+asks+Ministry+of+Labour+to+treat+CNE+like+Rolling+Stones+concert%2FCaribana.html
我知道这个 URL 不起作用的原因。我故意向它添加字符以使其返回 404 错误。我的问题是我无法弄清楚其他 404 错误页面来自何处。
它不在我的 .htaccess 文件中,我的 .htaccess 文件中的错误页面可以在上面的第一个链接中看到。
它不在我的代码中。代码本身生成的唯一错误页面可以在上面的第二个链接中看到。
它可能来自的唯一其他地方是我的域名注册商和我的网络主机。
该域是通过一个注册商注册的,但指向我在另一个提供商处的托管帐户。注册商说,因为我只是将我的域的 DNS 指向我们的虚拟主机,所以错误页面不会来自他们,而是来自我的虚拟主机。
我的网络主机说这个错误页面不是来自他们,但必须在我的代码中。
我已经大量修改了用于该站点的所有代码,因此我非常确信错误页面不是来自那里。
有没有人知道我应该在哪里寻找这个错误页面?
(请注意,我不确定注册商或网络主机是否完全确定他们在说什么,所以我不排除他们中的任何一个是此页面的来源。但是,一个对两者的管理控制台进行彻底查看并没有发现任何结果。)
【问题讨论】:
-
另外,我想指出这是第二个网站,它与我的另一个网站使用相同的托管帐户。我从未在我的其他网站上看到过这些错误页面。除了内容之外,这两个站点的唯一不同之处在于我遇到问题的域是通过不同的注册商注册的,而我的另一个域是通过我的网络托管服务提供商注册的。此页面是否可能来自我的域名注册商? (即使他们基本上只是将我的域指向我的网络主机?)
-
我想补充的另一件事是,这只发生在 url 由 apache 重写的网站的一部分上。在网站的其他部分,网址中的 % 会导致“400 错误请求”错误,但在被重写的区域中,它会显示 404 错误页面,我找不到它的位置。
标签: php .htaccess http-status-code-404