我之前发过这个
但是有一个新想法,并且想知道是否有任何问题为什么我不应该这样做......
如果有人试图访问我们网站上的死页,例如:
(域)/somepage.html
现在存在于此处:
(域)/dynamic.php?id=1
它失败并转到自定义错误 404 页面 (/404.php)
如果我查看$_SERVER['REDIRECT_URL']
变量,我可以看到他们试图去哪里。我的想法是在 404.php 页面的顶部添加一个包含来检查这个值,如果它在我要重定向的项目列表中,那么使用 PHP 来执行 301。
像这样的东西...
// -- php include at top of 404.php page
switch(trim($_SERVER['REDIRECT_URL'])){
case "/oldpage.html" : $location = "/dynamic.php?id=1"; break;
case "/oldpage2.html" : $location = "/dynamic.php?id=2"; break;
}
if(isset($location) && trim($location) != ''){
header ('HTTP/1.1 301 Moved Permanently');
header ('Location: '.$location);
exit(0);
}
// -- end of php include
这让我可以输入我在博客条目等中的谷歌网站管理员工具中看到的所有链接,这些链接现在已经失效。
谢谢