无论如何在 IIS 上的 PHP 中获取当前完整重写的 URL。
例如,我有一个像这样的 URL:
http://www.domain.com/searchresults.php?section=99&page=1&model=section-name
重写为: http: //www.domain.com/section99/page1/section-name
我已经能够使用以下方法拼凑原始 URL:
function selfURL(){
if(!isset($_SERVER['REQUEST_URI'])){
$serverrequri = $_SERVER['PHP_SELF'];
}else{
$serverrequri = $_SERVER['REQUEST_URI'];
}
$s = empty($_SERVER["HTTPS"]) ? '' : ($_SERVER["HTTPS"] == "on") ? "s" : "";
$protocol = "http";
$port = ($_SERVER["SERVER_PORT"] == "80") ? "" : (":".$_SERVER["SERVER_PORT"]);
return $protocol."://".$_SERVER['SERVER_NAME'].$port.$serverrequri.$_SERVER['QUERY_STRING'];
}
print(selfURL());
无论如何,我是否可以轻松地选择重写的 URL,以避免必须根据当前页面类型从多种不同格式和变量中计算出友好 URL 的开销?