最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

從PHP $_SERVER相關(guān)參數(shù)判斷是否支持Rewrite模塊

 更新時(shí)間:2013年09月26日 23:49:29   投稿:mdxy-dxy  
這篇文章主要介紹了如何通過判斷PHP $_SERVER相關(guān)參數(shù)來(lái)驗(yàn)證頁(yè)面是否重定向,但這只是在Apache環(huán)境下才有效,下面來(lái)具體的看下

如果是//www.fzitv.net/p1141.html形式的URL,可通過$_SERVER['REQUEST_URI']和$_SERVER['QUERY_STRING']值的區(qū)別來(lái)分析,最主要是如果頁(yè)面是通過重定向會(huì)產(chǎn)生$_SERVER['REDIRECT_QUERY_STRING']和$_SERVER['REDIRECT_URL']兩上參數(shù),因此判斷頁(yè)面是否重定向就非常簡(jiǎn)單,只需要判斷這兩個(gè)值存在的情況就既可,但這只是在Apache環(huán)境下才有效。

如果是ISAPI Rewrite環(huán)境如何判斷?

如果是ISAPI Rewrite環(huán)境,雖然不會(huì)產(chǎn)生如上$_SERVER['REDIRECT_QUERY_STRING']和$_SERVER['REDIRECT_URL']兩上參數(shù),但同樣會(huì)產(chǎn)生自己獨(dú)特的參數(shù)$_SERVER['HTTP_X_REWRITE_URL'],這個(gè)參數(shù)只有在ISAPI環(huán)境下才會(huì)產(chǎn)生,因此使用這個(gè)參數(shù)就能判斷當(dāng)前的URL是何種形式,方法如下:

復(fù)制代碼 代碼如下:

$isApi = (isset($_SERVER['HTTP_X_REWRITE_URL']) && strpos($_SERVER['HTTP_X_REWRITE_URL'],'?')) ? TRUE : FALSE;

通過對(duì)當(dāng)前URL顯示形式的判斷,就能知道程序?qū)⑷绾螆?zhí)行以及是否需要301重定向,如果當(dāng)前URL是//www.fzitv.net/?=p1141,則需要使用301重定向到//www.fzitv.net/p1141.html,如下:

復(fù)制代碼 代碼如下:

header("HTTP/1.1 301 Moved Permanently");
header("Location://www.fzitv.net/p1141.html");

然后再走重定向后程序的流程,這樣就保證了頁(yè)面的統(tǒng)一,同時(shí)也解決了ISAPI和Apache的Rewrite循環(huán)重定向問題。

ISAPI和Apache是否重定向判斷:

ISAPI使用:

復(fù)制代碼 代碼如下:

$_SERVER['HTTP_X_REWRITE_URL']

Apache使用:

復(fù)制代碼 代碼如下:

$_SERVER['REDIRECT_QUERY_STRING']或$_SERVER['REDIRECT_URL']

只要掌握$_SERVER各參數(shù)的用法,就能輕松解決ISAPI和Apache的Rewrite循環(huán)重定向問題。

下面是其它網(wǎng)友的補(bǔ)充可以參考一下

WordPress通過301重定向?qū)崿F(xiàn)非首先域(非www)跳轉(zhuǎn)向本來(lái)是一個(gè)很簡(jiǎn)單事情,由于沒弄清楚$_SERVER[‘HTTP_X_REWRITE_URL'] 和$_SERVER[‘REQUEST_URI']的區(qū)別導(dǎo)致了循環(huán)重定向問題。
現(xiàn)在來(lái)具體研究下$_SERVER[‘HTTP_X_REWRITE_URL'] 和$_SERVER[‘REQUEST_URI']的區(qū)別
首先要糾正一部分的觀點(diǎn)就是IIS+PHP不支持$_SERVER[‘REQUEST_URI']
不是,不支持是PHP Version 版本的問題,php4.4.0不支持 $_SERVER[‘REQUEST_URI'],php5.2.5則增加了支持;

$_SERVER[‘REQUEST_URI']常用來(lái)獲當(dāng)前URL
例如://www.fzitv.net/index.php?p=3
$_SERVER[‘REQUEST_URI']獲得的就是/index.php?p=3這部分。
$_SERVER[“HTTP_X_REWRITE_URL”]則在IIS下獲得的是當(dāng)前URL,在apache下的值為空

例如:
當(dāng)前URL://www.fzitv.net/

IIS環(huán)境下:
$_SERVER[‘REQUEST_URI'] = /index.php
$_SERVER[“HTTP_X_REWRITE_URL”] =/
apache環(huán)境下:
$_SERVER[‘REQUEST_URI'] = /
$_SERVER[“HTTP_X_REWRITE_URL”] =”

當(dāng)前URL://www.fzitv.net/index.php
IIS環(huán)境下:
$_SERVER[‘REQUEST_URI'] = /index.php
$_SERVER[“HTTP_X_REWRITE_URL”] =/index.php

apache環(huán)境下:
$_SERVER[‘REQUEST_URI'] = /index.php
$_SERVER[“HTTP_X_REWRITE_URL”] =”

而我需要的就是判斷當(dāng)前URL是否包含/index.php

由此可見,IIS環(huán)境下首先域名重定向用$_SERVER[“HTTP_X_REWRITE_URL”]代替$_SERVER[‘REQUEST_URI'],apache環(huán)境則相反。

相關(guān)文章

  • PHP檢測(cè)數(shù)據(jù)類型的幾種方法(總結(jié))

    PHP檢測(cè)數(shù)據(jù)類型的幾種方法(總結(jié))

    下面小編就為大家?guī)?lái)一篇PHP檢測(cè)數(shù)據(jù)類型的幾種方法(總結(jié))。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧
    2017-03-03
  • php中的buffer緩沖區(qū)用法分析

    php中的buffer緩沖區(qū)用法分析

    這篇文章主要介紹了php中的buffer緩沖區(qū)用法,結(jié)合實(shí)例形式分析了buffer緩沖區(qū)的概念、原理及php使用緩沖區(qū)相關(guān)存儲(chǔ)、輸出等操作技巧,需要的朋友可以參考下
    2019-05-05
  • PHP下escape解碼函數(shù)的實(shí)現(xiàn)方法

    PHP下escape解碼函數(shù)的實(shí)現(xiàn)方法

    很多時(shí)候需要用到j(luò)s的escape函數(shù)來(lái)轉(zhuǎn)換中文字符,可是用js轉(zhuǎn)換后的字符怎么用php來(lái)轉(zhuǎn)換回來(lái)呢,下面我就找到了兩個(gè)很實(shí)用的函數(shù)。
    2010-08-08
  • 使用VisualStudio開發(fā)php的圖文設(shè)置方法

    使用VisualStudio開發(fā)php的圖文設(shè)置方法

    早先在asp橫行的年代,php和asp一樣,大都都是html中夾雜代碼,說實(shí)話,這時(shí)候IDE的確用處不是很大,倒是類似于dw之類的設(shè)計(jì)器甚為上手。
    2010-08-08
  • 利用curl 多線程 模擬 并發(fā)的詳解

    利用curl 多線程 模擬 并發(fā)的詳解

    本篇文章是對(duì)利用curl多線程模擬并發(fā)進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • php結(jié)合安卓客戶端實(shí)現(xiàn)查詢交互實(shí)例

    php結(jié)合安卓客戶端實(shí)現(xiàn)查詢交互實(shí)例

    本文給大家分享的是php結(jié)合安卓客戶端實(shí)現(xiàn)查詢交互實(shí)例,java端主要分三步來(lái)實(shí)現(xiàn):首先進(jìn)行 http request.網(wǎng)絡(luò)請(qǐng)求相關(guān)操作,第二步,使用execute方法發(fā)送HTTP GET請(qǐng)求,并返回HttpResponse對(duì)象,第三步,使用getEntity方法活得返回結(jié)果。有需要的小伙伴參考下
    2015-05-05
  • SWFUpload與CI不能正確上傳識(shí)別文件MIME類型解決方法分享

    SWFUpload與CI不能正確上傳識(shí)別文件MIME類型解決方法分享

    問題:swfupload上傳任何文件的mime類型均為application/octet-stream。
    2011-04-04
  • php實(shí)現(xiàn)Mysql簡(jiǎn)易操作類

    php實(shí)現(xiàn)Mysql簡(jiǎn)易操作類

    這個(gè)PHP實(shí)現(xiàn)的mysql的操作類完整版已經(jīng)使用過了,而這個(gè)簡(jiǎn)化版是經(jīng)過修改完整版后的簡(jiǎn)化版,適用在一般的 PHP 應(yīng)用中,功能上可以實(shí)現(xiàn)基本的增刪改查的操作,以及打印 MYSQL 錯(cuò)誤,自我感覺不錯(cuò),如果網(wǎng)站應(yīng)用不是很強(qiáng)大,應(yīng)用這個(gè) MYSQL 的操作類已經(jīng)足夠了,
    2015-10-10
  • PHP依賴注入容器知識(shí)點(diǎn)淺析

    PHP依賴注入容器知識(shí)點(diǎn)淺析

    在本篇文章里小編給大家分享的是一篇關(guān)于PHP依賴注入容器知識(shí)點(diǎn)內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-01-01
  • echo(),print(),print_r()之間的區(qū)別?

    echo(),print(),print_r()之間的區(qū)別?

    echo(),print(),print_r()之間的區(qū)別?...
    2006-11-11

最新評(píng)論

兰西县| 宜兰市| 洛南县| 晋城| 十堰市| 南川市| 和田县| 萝北县| 峡江县| 天峨县| 德昌县| 钦州市| 屏东市| 台北县| 黎平县| 三穗县| 鹿邑县| 夏津县| 香港 | 延津县| 门源| 陇南市| 弥渡县| 滁州市| 宿迁市| 嘉善县| 屯门区| 马山县| 格尔木市| 宁武县| 通道| 化隆| 聊城市| 凤庆县| 虞城县| 通河县| 德庆县| 乾安县| 神农架林区| 小金县| 城口县|