【问题标题】:Why does my website give 404 errors for pages that exist and are accessible?为什么我的网站对存在且可访问的页面给出 404 错误?
【发布时间】:2011-05-04 15:45:47
【问题描述】:

我的问题是,在我网站上的某些页面上,例如 http://www.piranha-internet.co.uk/web/website-design.php,我在 Google 网站管理员工具中收到 404 错误。但是我可以正常访问这些页面,它们都有内部指向它们的链接,还没有来自外部。

  • 我已在此页面上进行了标题检查,并且也收到了 404。
  • 我在服务器上创建了空白文件,给我一个 200 代码似乎很好,但如果我复制并重命名有问题的 404 文件,我会得到相同的 404 错误。
  • 我的网站上有大约 40 个页面,其中一半提供 200 个代码,一半提供 404 个代码。它们都使用相同的结构和相同的包含,但它们的内容都不同。

为什么会这样?

【问题讨论】:

  • 解决网络服务器问题的第 1 步:检查您的错误日志。
  • “GWT”是什么意思?你在用 Wordpress 吗?
  • 更新了帖子和切换标签。 GWT 一般指 Google Web Toolkit。

标签: php http-status-code-404 google-search-console


【解决方案1】:

当我尝试在 HTML 之前的代码顶部包含我的 wordpress 标头时遇到了同样的问题

<?php
    include('blog/wp-blog-header.php');
?>

页面正常,但 Google 看到 404 并且不会索引页面。

通过将 PHP 包含移动到 HTML 正文中解决了问题。

奇怪的问题...

【讨论】:

  • 这也是我的问题。谢谢!
【解决方案2】:

当我使用 Fiddler 访问 http://www.piranha-internet.co.uk/web/website-design.php 时,会出现与页面内容一起返回的 404 HTTP 状态代码。您的服务器或您的代码实际上正在发送 404 HTTP 状态代码。

是否有可能您可以显示相关页面的一些.php 源代码,例如website-design.php 和标头包含文件?

编辑:

您能否尝试一种系统的方法: 从空白页开始,返回 200 HTTP 代码。添加 HTML 行 / 来自那些页面之一的 PHP 逐行返回 404,并保持 每次更改后进行测试,直到您 查找将其发送到 404 的更改 而不是200。看看你能不能 将其追溯到特定的行 代码,特定的函数调用, 包括等,并发布结果。

【讨论】:

  • @Peter:有效和无效的页面之间有有什么不同吗?不同的include 语句?对不同功能的不同调用?你能不能尝试一个系统的方法:从一个空白页开始,一次一行代码,直到你得到 404 错误,找出源头是什么?
  • @Peter:和这个有什么关系吗:stackoverflow.com/questions/5542008/wordpress-404-problem.
  • 事实证明,在配置文件中,我定义了 wordpress 头文件的位置,用于在网站主页上显示最新的博客文章。网站上的其他文件不使用它,因此出于某种原因它正在将标题重新写入 404。真的不知道为什么只有一半的页面出错......但它仍然是固定的,所以感谢您的所有帮助。
【解决方案3】:

您在 GWT 中看到的是实际的 HTTP 响应代码。 404 在您的情况下,它的意思是“未找到”。

根据定义,这会将请求标记为“未找到”,这就是 GWT 向您报告的内容。

在任何 PHP 脚本中,除了输出之外,您还可以设置响应代码。我对/web/website-design.php 的代码一无所知,因此很难判断出什么问题或根本没有问题。

您可以在代码中查找header() function 的用法。该函数可以设置响应码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 1970-01-01
    • 1970-01-01
    • 2021-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多