PHP 301重定向理念
问题描述:
我张贴这早些时候PHP 301重定向理念
301 Redirect of Static HTML to Dynamic PHP Page
,但有一个新的想法,如果有任何问题,为什么我不应该这样做很纳闷......
如果有人试图去死页面上我们的网站,如:
(域)/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
这给了我一个单点在所有我是已经死了谷歌网站管理员工具,这在博客条目等看到的链接进入。
谢谢
答
嗯,是的。 301,并伴有Location
标题,是对您可以肯定识别为移动的请求的正确响应。
好的..............而且? – 2009-12-16 18:07:30
如果你已经知道它们存在,你为什么不把重定向规则放在.htaccess中?你不希望浏览器404 ...只是改成301。 – 2009-12-16 18:15:39