測試環(huán)境:
Windows xp
PHP4.3
Apache2.0.58
配置步驟:
第一步:找到apache的配置文件httpd.conf(文件在conf目錄下)
第二步:你首先必須得讓服務(wù)器支持mod_rewrite,如果你使用的是虛擬主機,請事先詢(xún)問(wèn)你的主機提供商。
打開(kāi)httpd.conf,找到
#LoadModule rewrite_module modules/mod_rewrite.so
把#去掉
找到AllowOverride None 改成 AllowOverride All,
注:AllowOverride 的參數設置為ALL,表示整臺服務(wù)器上都支持URL規則重寫(xiě)。Apache 服務(wù)器要讀每個(gè)網(wǎng)站下目錄下的 .htaccess 文件。如果沒(méi)有這個(gè)文件,或者這個(gè)文檔沒(méi)有定義任何關(guān)于URL重寫(xiě)的規則就不會(huì )有任何效果。
對于不同的網(wǎng)址,需要在A(yíng)PACHE中增加如下內容
<Directory “E:/Apache Group/Apache2/htdocs/leapsoul”>
/*引號里代表你的web存放目錄*/
/*如果是Linux,只要你定位到你網(wǎng)站目錄即可*/
Options FollowSymLinks
AllowOverride None
</Directory>
第三步:重啟apache服務(wù)器,先按stop再start。
第四步:在你需要URL重寫(xiě)的網(wǎng)站目錄下放一個(gè).htaccess文件,文件名是.htaccess,Windiws下不能直接建立,你可以用記事本另存為。
注:我測試的時(shí)候在每個(gè)需要偽靜態(tài)的目錄下都存放了對應的.htaccess文件,同時(shí)在httpd.conf文件中像第二步那樣對相關(guān)的目錄添加了相應的<Directory>..</Directory>代碼。
第五步:在.htaccess中通過(guò)正則表達式映射需要偽靜態(tài)的頁(yè)面。
URL正則表達式如下:
RewriteEngine on
RewriteRule index.html index.php
RewriteRule (\d+).html$ info\.php\?infoid=$1
注:URL規劃的方案例子:
www.leapsoul.cn/info/info.php?infoid=100
映射為
www.leapsoul.cn/info/100.html
配置結束。
在Linux下基本上沒(méi)啥變動(dòng),我只修改了相關(guān)目錄地址,運行正常。
以上就是我關(guān)于利用Apache的mod_rewrite對URL重寫(xiě)的具體操作步驟,從而實(shí)現了網(wǎng)站URL偽靜態(tài)化。有需要的朋友可以參考,有更好實(shí)現辦法的也可以給我留言。
注:PHP網(wǎng)站開(kāi)發(fā)教程-leapsoul.cn版權所有,轉載時(shí)請以鏈接形式注明原始出處及本聲明,謝謝。
聯(lián)系客服