配置步驟:
第一步:找到apache的配置文件httpd.conf(文件在conf目錄下,linux系統路徑一般為 /etc/httpd/conf/httpd.conf)
第二步:你首先必須得讓服務器支持mod_rewrite,如果你使用的是虛擬主機,請事先詢問你的主機提供商。
打開httpd.conf,找到
#LoadModule rewrite_module modules/mod_rewrite.so
把#
去掉
找到AllowOverride None 改成 AllowOverride All,
注:AllowOverride 的參數設置為ALL,表示整臺服務器上都支持URL規則重寫。Apache 服務器要讀每個網站下目錄下的 .htaccess 文件。如果沒有這個文件,或者這個文檔沒有定義任何關于URL重寫的規則就不會有任何效果。
如果不需要整個服務器都支持URL規則重寫,需要在APACHE中增加如下內容
/*引號里代表你的web存放目錄*/
/*如果是Linux,只要你定位到你網站目錄即可*/
Options FollowSymLinks
AllowOverride None
第三步:重啟apache服務器。
第四步:在你需要URL重寫的網站目錄下放一個.htaccess文件,文件名是.htaccess,Windows下不能直接建立,你可以用記事本另存為。
注:我測試的時候在每個需要偽靜態的目錄下都存放了對應的.htaccess文件,同時在httpd.conf文件中像第二步那樣對相關的目錄添加了相應的..代碼。
第五步:在.htaccess中通過正則表達式映射需要偽靜態的頁面。
URL正則表達式如下:
RewriteEngine on
RewriteRule index.html index.php
RewriteRule (\d+).html$ info\.php\?infoid=$1
注:URL規劃的方案例子:
www.jb51.net/info/info.php?infoid=100
映射為
www.jb51.net/info/100.html
配置結束。
關于在Linux下基本上沒啥變動,我只修改了相關目錄地址,運行正常。
以上就是關于利用Apache的mod_rewrite對URL重寫的具體操作步驟,從而實現了網站URL偽靜態化。