作为程序员一定要保持良好的睡眠,才能好编程

程序伪静态后如何获取地址栏中的地址?

发布时间:2016-06-22

<?php
if (strstr($_SERVER["HTTP_X_REWRITE_URL"], ".php") { //判断是否包含.php的地址。
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://www.nanshuo.net/$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.nanshuo.net/$id.html"); //跳转到新的静态地址。
exit;
//这样做之后,你会发现只要输入以前的动态地址都会以301方式转到新的静态地址。
?>

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

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