php伪静态如何获取地址栏url

如题所述

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

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

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

例子,php伪静态如何获取地址栏url。

代码示例:

<?php
if (strstr($_server["http_x_rewrite_url"], ".php") { //判断是否包含.php的地址。
header("http/1.1 301 moved permanently");
header("location: http://www.baidu.com/$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.baidu.com/$id.html"); //跳转到新的静态地址。
exit;
//只要输入以前的动态地址都会以301方式转到新的静态地址。
?>

温馨提示:答案为网友推荐,仅供参考
相似回答