php伪静态后获取地址栏URL

熊海
熊海

因程序伪静态了,然后搜索引擎又收录了之前的大量动态地址,那怎么办呢?当然你会觉得设置301就可以了,但似乎301更搜索引擎更新过来也是需要相当一段时间,而搜索到以前的动态地址,访问还是有点不好,毕竟还是希望访问静态地址,这时候就需要在页面里做一下判断了。

首先用了PHP内置函数,因程序伪静态了,发现取得的都是真实的URL地址,和显示的URL根本是两样。网上找了很久,都没有找到办法。问题实再是很棘手。

无意中看到一个ASP的例子,其中包含:HTTP_X_REWRITE_URL,于是用PHP试了下,没想到却可以获取到地址栏的地址,至此问题解决。

下面是举例:

<?php
if (strstr($_SERVER["HTTP_X_REWRITE_URL"], ".php") { //判断是否包含.php的地址。
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.isea.so/$id.html"); //跳转到新的静态地址。
exit; 
}
//这个方法只适用于Windows的服务器,liunx则需要用 $_SERVER['REQUEST_URI']来获取
if (strstr($_SERVER['REQUEST_URI'],".php") { //判断是否包含.php的地址。
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.isea.so/$id.html"); //跳转到新的静态地址。
exit;
//这样做之后,你会发现只要输入以前的动态地址都会以301方式转到新的静态地址。
?>


支付宝打赏支付宝 微信
微信扫一扫
0 条评论

评论:

发送