偽靜態是什麼:
網站分為動態網站和靜態網站,我們常見的以html結尾的一般都是靜態頁面,以.php.asp結尾的頁面一般是動態網站,動態網站是有和資料庫進行互動才被稱為動態網站,動態網站由於不容易被搜尋引擎搜尋所以才有了偽靜態這麼一說。 (推薦學習:PHP程式設計從入門到精通)
偽靜態顧名思義就是假的靜態網站,也就是說動態網站為了方便被搜尋引擎收錄,利用伺服器的rewirte實現的假靜態的過程。
那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(); }
以上是php如何做偽靜態處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3漢化版
中文版,非常好用

WebStorm Mac版
好用的JavaScript開發工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)