我早些时候发的这个
301 Redirect of Static HTML to Dynamic PHP Page
但是有一个新的想法,我想知道是否有什么问题,为什么我不应该这样做…
如果有人试图进入我们网站的死页,比如:
(域)/somepage.html
现在存在于这里:
(域)/dynamic.php?ID=1
它失败并转到自定义错误404页(/404.php)
如果我看
$_SERVER['REDIRECT_URL']
变量,我可以看到他们想去哪里。我的想法是在404.php页面的顶部添加一个include来检查这个值,如果它在我要重定向的项目列表中,那么使用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
这给了我一个单一的点来输入我在谷歌网站管理员工具中看到的所有链接,这些工具都在博客条目中,等等,现在已经死了。
谢谢