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