繁体   English   中英

PHP 301重定向提示

[英]PHP 301 Redirect Idea

我早些发布了

301将静态HTML重定向到动态PHP页面

但是有一个新的主意,我想知道是否有任何问题为什么我不应该这样做?

如果有人尝试进入我们网站上的无效页面,例如:

(域)/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

这使我可以单点输入我在google网站管理员工具中看到的所有链接,这些链接在博客条目等中已失效。

谢谢

嗯,是。 301和Location标头是对您可以肯定地标识为已移动的请求的正确响应。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM