为什么我的网站为存在且可访问的页面提供404错误?

时间:2011-05-04 15:45:48

标签: php http-status-code-404 google-webmaster-tools

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

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

为什么会这样?

3 个答案:

答案 0 :(得分:3)

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

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

页面有效,但Google看到了404并且不会将页面编入索引。

通过在PHP正文中移动PHP包来解决问题。

奇怪的问题......

答案 1 :(得分: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.看看你能不能   追溯到特定的一行   代码,特定的函数调用,   包括等,并发布结果。

答案 2 :(得分:0)

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

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

在任何PHP脚本中,除了输出之外,您还可以设置响应代码。我对/web/website-design.php的代码没有任何了解,所以很难分清哪些是错的,或者根本不对。

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