1

我在我的网站中创建了一个名为 file-not-found.php 的自定义 404 页面。我将.htaccess文件更改为,

ErrorDocument 404 /file-not-found.php

这工作得很好,我还使用 Google 网站管理员工具获取了一个不存在的 url,它显示正确的 404 错误。

我将在特定时间段后删除我的文章。所以我决定做的是如果用户正在寻找已删除的内容,则使用 404 状态代码重定向用户的 file-not-found.php 。所以在文章页面中我写了以下内容代码

<?php 
if(mysql_num_rows($sql)!=0){
//display content
}else{
//redirect to custom error page
header('HTTP/1.0 404 Not Found');
header('location:file-not-found.php');
exit();
}
?>

因此,现在如果用户请求删除的内容,它会重定向到自定义 404 页面。

但问题是,如果我从 Google 网站管理员工具中获取已删除的内容链接,它会返回状态 200 而不是 404。

那么问题出在哪里,请帮我纠正这个问题。谢谢大家。

4

1 回答 1

1
  1. file-not-found.php文件应包含header('HTTP/1.0 404 Not Found');
  2. 如果永久移动或用于正常重定向,则应在重定向代码header('HTTP/1.0 404 Not Found');之前删除。来源header('Location:file-not-found.php');301302
于 2013-08-27T07:21:54.293 回答