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

PHP實(shí)現(xiàn)偽靜態(tài)方法匯總

 更新時(shí)間:2016年01月13日 16:27:26   作者:八面碰壁居士  
PHP偽靜態(tài)的使用主要是為了隱藏傳遞的參數(shù)名,下面給大家介紹php實(shí)現(xiàn)偽靜態(tài)的方法,對(duì)php實(shí)現(xiàn)偽靜態(tài)相關(guān)知識(shí)感興趣的朋友一起學(xué)習(xí)吧

PHP偽靜態(tài)的使用主要是為了隱藏傳遞的參數(shù)名,下面給大家介紹php實(shí)現(xiàn)偽靜態(tài)的方法,具體詳情請(qǐng)看下文。
說(shuō)起偽靜態(tài)的實(shí)現(xiàn)方案,你是不是很爽快的回答"簡(jiǎn)單,配置下apache的重寫(xiě)規(guī)則就行了嘛"

但是你有沒(méi)有發(fā)現(xiàn)這種情況,你最近弄了很多新功能,每天上幾個(gè)新功能,每天都有好多偽靜態(tài)配置,才開(kāi)始兩天運(yùn)維同學(xué)還樂(lè)意配合,過(guò)兩天運(yùn)維同學(xué)就要罵了。你麻痹,腦殘為什么不一次搞完,天天麻煩我。但是了,你要上線啊,不得不苦逼的求運(yùn)維同學(xué)了,然后說(shuō)出一句程序猿界最不要臉的話"這次最后一次改動(dòng)了",然后后面又要改,哎,你的人格算是掃地了。。。

如果有這樣的煩惱存在,請(qǐng)看下面的文章,保證你以后再也不求運(yùn)維了,想干啥就干啥。。。

那PHP實(shí)現(xiàn)偽靜態(tài)有多少種方法了?個(gè)人見(jiàn)解和統(tǒng)計(jì)奧,有四種方法

1、使用apache的URL重寫(xiě)規(guī)則,這個(gè)大家都懂,在apache里面配置, 這里同學(xué)們都造,只列舉一段簡(jiǎn)單的配置

RewriteEngine On
RewriteRule ^/test.html index.php?controller=index&action=test [L]

2、使用PHP的pathinfo , 你是不是有看到有的網(wǎng)站這樣玩'www.xxx.com/index.php/c/index/a/test/id/100' , 當(dāng)然要支持這種你需要把'php.ini' 中的參數(shù)

'cgi.fix_pathinfo' 設(shè)置為1。拿'www.xxx.com/index.php/c/index/a/test/id/100'來(lái)舉例

echo $_SERVER['PATH_INFO']; //輸出'/c/index/a/test/id/100'
到這,應(yīng)該明白了吧,你再對(duì)這段進(jìn)行解析,分配實(shí)際地址

3、使用404機(jī)制,一般情況下偽靜態(tài)都是實(shí)際不存在的頁(yè)面,因此可以使用apache 404配置,但是有些問(wèn)題,就是'post'類(lèi)型的請(qǐng)求會(huì)被拋棄,導(dǎo)致你無(wú)法獲取'$_POST',

但是'$_GET'仍然可以獲取, 假設(shè)此處404頁(yè)面為'404page.php', apache 配置如下:

ErrorDocument 404 /404page.php

然后在 '404page.php'中嵌入如下代碼

header("HTTP/1.1 200 OK"); //這里一定要有,不然狀態(tài)就是404
$reqUrl = $_SERVER['REQUEST_URI']; // 請(qǐng)求地址
/**
* 從URL中解析參數(shù)
*/
function parseUrlParams($queryUrl)
{
$arr = explode('?', $queryUrl);
parse_str($arr[1], $param);
if($param)
{
foreach($param as $key => $value)
{
$_GET[$key] = $value;
}
}
}
parseUrlParams($reqUrl); // url解析參數(shù)
//然后你就可以使用 $reqUrl 根據(jù)自己的規(guī)則匹配不同的實(shí)際請(qǐng)求地址
if(preg_match('#^/test.html#is', $reqUrl, $matches))
{
include('index.php');
die();
}

4、方法3的改進(jìn)型,方法3在apache內(nèi)部機(jī)制相當(dāng)于重定向了,導(dǎo)致post(get)傳遞的參數(shù)無(wú)法獲取。分析上面的其實(shí)是找不到相關(guān)文件,那當(dāng)服務(wù)器找不到相關(guān)文件時(shí),我們?yōu)樗付ㄒ粋€(gè)文件,不就OK了,它就不用跳轉(zhuǎn)了,這時(shí)POST之類(lèi)都不會(huì)丟失。apache 配置如下:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php

上面一段配置的大概意思是 當(dāng)請(qǐng)求的文件或者目錄無(wú)法找到時(shí) 使用根目錄下的 'index.php' 替代,那這時(shí)你就可以在'index.php'中獲取相關(guān)參數(shù)并解析到實(shí)際請(qǐng)求地址

/**
* 獲取當(dāng)前請(qǐng)求的URI地址
*@param void
*@author painsOnline
*@return string URI
*/
function getReqUri()
{
return trim($_SERVER["REQUEST_URI"]);
}
$reqUri = getReqUri();
if(preg_match('/^\/test.html/isU', $reqUri))
{//解析請(qǐng)求地址
include 'test.php';
exit();
}

以上內(nèi)容給大家介紹了php實(shí)現(xiàn)偽靜態(tài)的方法,希望對(duì)大家有所幫助。

相關(guān)文章

  • PHP安裝GeoIP擴(kuò)展根據(jù)IP獲取地理位置及計(jì)算距離的方法

    PHP安裝GeoIP擴(kuò)展根據(jù)IP獲取地理位置及計(jì)算距離的方法

    這篇文章主要介紹了PHP安裝GeoIP擴(kuò)展根據(jù)IP獲取地理位置及計(jì)算距離的方法,包括獲取目標(biāo)IP所在的國(guó)家地區(qū)等信息,需要的朋友可以參考下
    2016-07-07
  • php 類(lèi)自動(dòng)載入的方法

    php 類(lèi)自動(dòng)載入的方法

    在PHP5之前,各個(gè)PHP框架如果要實(shí)現(xiàn)類(lèi)的自動(dòng)加載,一般都是按照某種約定自己實(shí)現(xiàn)一個(gè)遍歷目錄,自動(dòng)加載所有符合約定規(guī)則的文件的類(lèi)或函數(shù)。 當(dāng)然,PHP5之前對(duì)面向?qū)ο蟮闹С植⒉皇翘?,?lèi)的使用也沒(méi)有現(xiàn)在頻繁。 我們來(lái)詳細(xì)探討下吧。
    2015-06-06
  • php利用header函數(shù)下載各種文件

    php利用header函數(shù)下載各種文件

    這篇文章主要為大家詳細(xì)介紹了php利用header函數(shù)下載各種文件的代碼,感興趣的小伙伴們可以參考一下
    2016-08-08
  • php實(shí)現(xiàn)smarty模板無(wú)限極分類(lèi)的方法

    php實(shí)現(xiàn)smarty模板無(wú)限極分類(lèi)的方法

    這篇文章主要介紹了php實(shí)現(xiàn)smarty模板無(wú)限極分類(lèi)的方法,結(jié)合實(shí)例形式較為詳細(xì)的分析了php使用smarty模板實(shí)現(xiàn)數(shù)據(jù)庫(kù)查詢與無(wú)限極分類(lèi)的相關(guān)技巧,需要的朋友可以參考下
    2015-12-12
  • PHP開(kāi)發(fā)框架kohana3 自定義路由設(shè)置示例

    PHP開(kāi)發(fā)框架kohana3 自定義路由設(shè)置示例

    這篇文章主要介紹了PHP開(kāi)發(fā)框架kohana3 自定義路由設(shè)置示例,kohana是一個(gè)純PHP5的開(kāi)發(fā)框架,需要的朋友可以參考下
    2014-07-07
  • 給大家分享幾個(gè)常用的PHP函數(shù)

    給大家分享幾個(gè)常用的PHP函數(shù)

    本文給大家分享的是pink自己寫(xiě)的幾個(gè)常用的PHP函數(shù),包括截取字符串,CURL封裝以及分類(lèi)樹(shù)函數(shù),有需要的小伙伴可以參考下
    2017-01-01
  • thinkphp中ajax與php響應(yīng)過(guò)程詳解

    thinkphp中ajax與php響應(yīng)過(guò)程詳解

    這篇文章主要介紹了thinkphp中ajax與php響應(yīng)過(guò)程,以實(shí)例形式詳細(xì)分析了ThinkPHP框架中Ajax響應(yīng)方式的處理原理及實(shí)現(xiàn)過(guò)程,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2014-12-12
  • phpnow php探針環(huán)境檢測(cè)代碼

    phpnow php探針環(huán)境檢測(cè)代碼

    這篇文章主要為大家分享了phpnow php探針環(huán)境檢測(cè)代碼,需要的朋友可以參考下
    2014-11-11
  • yii 框架實(shí)現(xiàn)按天,月,年,自定義時(shí)間段統(tǒng)計(jì)數(shù)據(jù)的方法分析

    yii 框架實(shí)現(xiàn)按天,月,年,自定義時(shí)間段統(tǒng)計(jì)數(shù)據(jù)的方法分析

    這篇文章主要介紹了yii 框架實(shí)現(xiàn)按天,月,年,自定義時(shí)間段統(tǒng)計(jì)數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了yii基于自定義時(shí)間段統(tǒng)計(jì)數(shù)據(jù)的相關(guān)操作技巧與使用注意事項(xiàng),需要的朋友可以參考下
    2020-04-04
  • php通過(guò)curl模擬登陸DZ論壇

    php通過(guò)curl模擬登陸DZ論壇

    本文章來(lái)給各位同學(xué)介紹一下關(guān)于Php CURL模擬登陸論壇并采集數(shù)據(jù)實(shí)例,如果你對(duì)利用curl模擬登錄功能有興趣可進(jìn)入?yún)⒖肌?/div> 2015-05-05

最新評(píng)論

汤原县| 冀州市| 崇文区| 来凤县| 敖汉旗| 奉贤区| 琼海市| 师宗县| 石家庄市| 河间市| 包头市| 贺兰县| 阿荣旗| 石嘴山市| 措美县| 石阡县| 武汉市| 榕江县| 湘潭县| 竹山县| 汽车| 成安县| 南开区| 泸定县| 吉隆县| 桑植县| 珠海市| 呼和浩特市| 宜兰市| 贺兰县| 伊金霍洛旗| 新晃| 台山市| 通州区| 嘉鱼县| 东丰县| 长阳| 宜城市| 昌乐县| 靖远县| 嘉兴市|