1、安裝 mod_rewrite 模塊 因為 Apache 服務器默認是沒有打開 mod_rewrite 模塊的,所以我們必須手動來啟動。打開 Apache 的配置文件 httpd.conf 文件,找到下面一行: #LoadModule rewrite_module modules/mod_rewrite.so 前面的 # 號是 Apache 配置文件的注釋符,也就是 Apache 服務器沒有加載該模塊。將前面的 # 號去掉,保存后重啟 Apache 服務器,這是我們就實現了加載 mod_rewrite 這個模塊了。(提示:任何一次對 Apache 的配置文件 httpd.conf 文件都是要重新啟動 Apache 才能生效的) 2、新建 .htaccess 文件 在 windows 系統默認的情況下是不能新建沒有文件名的文件的,這里建議大家使用 vim 這個編輯器來新建。方法是打開 vim 編輯器隨便輸入一段文字,然后保存為 .htaccess 即可。很多朋友因為習慣了 windows 系統,所以新建這個文件很頭疼。還有就是文件名一定不要錯,我今天寫的時候把文件保存成了.htacess,看到沒有,少了一個c,怎么調試都不對,還好最后發現了這個低級錯誤。
3、配置 .htaccess 文件 .htaccess 文件務必放在你項目的根目錄下,不要放在其他文件夾下。配置 .htaccess 文件的格式如下: <ifmodule mod_rewrite.c> RewriteEngine On #這里是你的規則 </ifmodule> 解釋:RewriteEngine On :啟動URL重寫引擎 先看如下一個配置好了的 .htaccess 文件實例: <ifmodule mod_rewrite.c> RewriteEngine On RewriteRule ^index/.html$ /index.php [L] RewriteRule ^shop/(.+)/$ shop/shop.php?PRoviderId=$1 [L] </ifmodule>
分析:上面 .htaccess 文件就寫了二條規則。當在瀏覽器中輸入 index.html 時,后臺調用的是 index.php 文件。符號“^”是以后面的字符開頭,相信熟悉正則表達式的朋友不會陌生吧,符號“$”是以前面的字符結尾。符號L表示停止處理接下來的規則。最后一條當我們在瀏覽器中輸入 shop/2322 時,后臺調用 shop.php文件并傳遞參數provider=2322 。 配置規則,大家照著那一條去寫吧,記得每行后面加個 L 符號。
再寫一個:
http://www.yourdomin.com/category.php?id=12 想重寫成http://www.yourdomin.com/category/12
RewriteRule ^category/([0-9]+)$ category.php?id=$1
如果有多頁的文章 如:http://www.yourdomin.com/category.php?id=12&page=3 重寫成http://www.yourdomin.com/category/12/3
RewriteRule ^category/([0-9]+)/([0-9]+)$ category.php?id=$1&page=$2
如果你想升級你的站點,又要保證老的鏈接都可用,你也可以通過mod_rewrite模塊來實現。你僅僅需要寫一個規則之處這個網頁被永久的移動了。例子如下:
RewriteRule ^oldpage.html$ newpage.html [R=301]
新聞熱點
疑難解答