1. 程式人生 > >php 之apache rewrite偽靜態的簡單配置和使用

php 之apache rewrite偽靜態的簡單配置和使用

      1、為什麼要使用偽靜態:

真正的靜態頁面空間儲存量大,進行刪除或者更新這些html檔案時可造成大量檔案碎片,破壞磁碟壞道,

動態頁面雖然可以實時更新,但是有時會導致死迴圈,對搜尋引擎不友好,而偽靜態卻不會出現這種情況。

偽靜態可以更好的緩解伺服器的壓力,增強搜尋引擎對頁面的收錄;

      2、偽靜態可以做什麼:

rewrite 主要的功能就是實現url跳轉和隱藏真實地址,可以實現虛擬的靜態,虛擬的目錄,域名跳轉,隱藏後臺真實地址等,基於perl語言的正則表示式規範。 一個普通的動態連結可以通過rewrite 重寫為.html  的連結 /article.php?id=23 可以重寫為:/article_23.html 也可重寫為目錄的形式:/article_23/       3、apache開啟rewrite重寫: 開啟apache的配置檔案(httpd.conf),搜尋# LoadModule rewrite_module modules/mod_rewrite.so 
將前面的“#”去掉,這樣就可以直接在httpd.conf中寫rewrite規則了!

如果想在.htaccess檔案中重寫規則,可以 在httpd.conf檔案中搜索AllowOverride None 修改為AllowOverride All  這樣就可以在網站根目錄建立.htaccess檔案寫rewrite規則了!

      4、mod_rewrite 規則的使用:

RewriteEngine on   //啟動rewrite引擎 RewriteCond %{HTTP_HOST} !^www.test.com  [NC]       //如果訪問網址不是www.test.com   後面的[NC]  N重新從第一條規則開始執行重寫過程 C 與下一條相關聯 RewriteRule   ^/(.*) http://www.test
.com/ [L]         //
跳轉到這個地址 RewriteEngine on        RewriteRule ^/article_([0-9]*).html$ /article.php?id=$1      //將偽靜態 地址/article_XX.html 轉換為檔案加引數的格式
RewriteRule ^/article_([0-9]*)/$ /article.php?id=$1 [R]       //將偽靜態 地址/article_XX/ 轉換為檔案加引數的格式

      5、mod_rewrite 規則修正符  修正符 即 Rewrite 語句後面 “[]” 裡面的內容

1) R 強制外部重定向 2) F 禁用URL,返回403HTTP狀態碼。 3) G 強制URL為GONE,返回410HTTP狀態碼。 4) P 強制使用代理轉發。 5) L 表明當前規則是最後一條規則,停止分析以後規則的重寫。 6) N 重新從第一條規則開始執行重寫過程。 7) C 與下一條規則關聯 如果規則匹配則正常處理,以下修正符無效 8) T=MIME-type(force MIME type) 強制MIME型別 9) NS  只用於不是內部子請求 10) NC 不區分大小寫 11) QSA 追加請求字串 12) NE 不在輸出轉義特殊字元   \%3d$1  等價於 =$1

求不拍磚~~~~~!