麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > PHP > 正文

PHP實現偽靜態方法匯總

2024-05-04 23:42:15
字體:
來源:轉載
供稿:網友
PHP偽靜態的使用主要是為了隱藏傳遞的參數名,下面給大家介紹php實現偽靜態的方法,對php實現偽靜態相關知識感興趣的朋友一起學習吧
 

PHP偽靜態的使用主要是為了隱藏傳遞的參數名,下面給大家介紹php實現偽靜態的方法,具體詳情請看下文。
說起偽靜態的實現方案,你是不是很爽快的回答"簡單,配置下apache的重寫規則就行了嘛"

但是你有沒有發現這種情況,你最近弄了很多新功能,每天上幾個新功能,每天都有好多偽靜態配置,才開始兩天運維同學還樂意配合,過兩天運維同學就要罵了。你麻痹,腦殘為什么不一次搞完,天天麻煩我。但是了,你要上線啊,不得不苦逼的求運維同學了,然后說出一句程序猿界最不要臉的話"這次最后一次改動了",然后后面又要改,哎,你的人格算是掃地了。。。

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

那PHP實現偽靜態有多少種方法了?個人見解和統計奧,有四種方法

1、使用apache的URL重寫規則,這個大家都懂,在apache里面配置, 這里同學們都造,只列舉一段簡單的配置

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

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

'cgi.fix_pathinfo' 設置為1。拿'www.xxx.com/index.php/c/index/a/test/id/100'來舉例

echo $_SERVER['PATH_INFO']; //輸出'/c/index/a/test/id/100' 
到這,應該明白了吧,你再對這段進行解析,分配實際地址

3、使用404機制,一般情況下偽靜態都是實際不存在的頁面,因此可以使用apache 404配置,但是有些問題,就是'post'類型的請求會被拋棄,導致你無法獲取'$_POST',

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

ErrorDocument 404 /404page.php

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

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

4、方法3的改進型,方法3在apache內部機制相當于重定向了,導致post(get)傳遞的參數無法獲取。分析上面的其實是找不到相關文件,那當服務器找不到相關文件時,我們為它指定一個文件,不就OK了,它就不用跳轉了,這時POST之類都不會丟失。apache 配置如下:

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

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

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

以上內容給大家介紹了php實現偽靜態的方法,希望對大家有所幫助。



注:相關教程知識閱讀請移步到PHP教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 婷婷中文字幕一区二区三区 | 黄污网站在线 | 国产成人在线综合 | 三级xxxx| 日本免费aaa观看 | 日韩一级免费毛片 | 亚洲人成网在线观看 | 亚洲成人在线视频网站 | 亚洲国产精品500在线观看 | 精品成人av一区二区在线播放 | 永久免费黄色大片 | 亚洲综合色视频在线观看 | 美国黄色毛片女人性生活片 | 黄色一级片免费在线观看 | 国产1区在线 | 国产一级桃视频播放 | 91在线视频网址 | 午夜精品成人 | 在线天堂中文在线资源网 | 日韩av电影在线观看 | 青久草视频| 色综合视频 | 国产精品久久久久久久午夜片 | 欧美成人午夜一区二区三区 | 日韩av影片在线观看 | 高清国产在线 | 圆产精品久久久久久久久久久 | 成年免费视频黄网站在线观看 | 污视频在线看 | 久草在线最新 | 亚洲射情 | 久久经典国产视频 | 成人一区二区三区在线 | 精品亚洲视频在线 | 综合网日日天干夜夜久久 | 极品大长腿啪啪高潮露脸 | 爱高潮www亚洲精品 国产精品一区自拍 | 国产韩国精品一区二区三区久久 | 国产资源在线免费观看 | 娇妻被各种姿势c到高潮小说 | 久久美女色视频 |