$_SERVER["HTTP_X_REWRITE_URL"]表示什么

發布時間:2019-07-22 00:01:41 來源:互聯網 作者:青鋒網站建設
  WordPress在load.php中使用了function wp_fix_server_vars()來處理IIS和APACHE的兼容性,這里只要判斷 HTTP_X_ORIGINAL_URL, HTTP_X_REWRITE_URL, REQUEST_URI, REDIRECT_URL就可以識別URL和重寫URL的判斷。

各個WEB軟件判斷請求URL

IIS7 + Rewrite Module -> $_SERVER['HTTP_X_ORIGINAL_URL']
IIS6 + ISAPI Rewite -> $_SERVER['HTTP_X_REWRITE_URL’]
Apache2 -> $_SERVER['REQUEST_URI’] 或 $_SERVER['REDIRECT_URL']
nginx -> $_SERVER['REQUEST_URI’]
  因此得出的結果是,只要判斷 HTTP_X_ORIGINAL_URL, HTTP_X_REWRITE_URL, REQUEST_URI, REDIRECT_URL 這些參數,我們就可以在PHP中來判斷請求url來自于重寫地址的還是默認格式的地址了。

$_SERVER['HTTP_X_REWRITE_URL'] 和$_SERVER['REQUEST_URI']的區別

  IIS+PHP不支持$_SERVER['REQUEST_URI'],并且php4.4.0不支持 $_SERVER['REQUEST_URI'],php5.2.5則增加了支持;$_SERVER['REQUEST_URI']常用來獲當前URL。
例如:http://www.txcrtn.live/index.php?p=3
$_SERVER['REQUEST_URI']獲得的就是/index.php?p=3這部分。
$_SERVER["HTTP_X_REWRITE_URL"]則在IIS下獲得的是當前URL,在apache下的值為空

舉例說明在IIS和APACHE環境下獲取URL

當前URL:http://www.txcrtn.live/
IIS環境下:
$_SERVER['REQUEST_URI'] = /index.php
$_SERVER["HTTP_X_REWRITE_URL"] =/
apache環境下:
$_SERVER['REQUEST_URI'] = /
$_SERVER["HTTP_X_REWRITE_URL"] =”
IIS環境下:
$_SERVER['REQUEST_URI'] = /index.php
$_SERVER["HTTP_X_REWRITE_URL"] =/index.php
apache環境下:
$_SERVER['REQUEST_URI'] = /index.php
$_SERVER["HTTP_X_REWRITE_URL"] =”
  而我需要的就是判斷當前URL是否包含/index.php,由此可見,IIS環境下首先域名重定向用$_SERVER["HTTP_X_REWRITE_URL"]代替$_SERVER['REQUEST_URI'],apache環境則相反。青鋒建站,提供專業的高品質網站制作服務,包括網站建設,SEO,網絡營銷,PHP開發,網站建設知名品牌,全國接單,為企業構建強有力的營銷平臺。
分享到:

Copyright © 2016-2026 青鋒建站 版權所有

超级狮子电子游艺 pc蛋蛋 辽宁35选7 湖北30选5开奖 麻将来了哪个玩法上分最快 配资炒股平台选中承配资 兰州酒店小姐服务 女主带尾巴的AV番号 安徽十一选五的开奖 免费好友打麻将软件 私募股票推荐 asp比分网站源码 汇巨福配资 拉萨红灯区哪里最多 苍井空a级片百度影音 丧尸来袭 欧美a片在线免费看