天天看點

Apache url 重寫/靜态化/mod_rewrite

1.檢測Apache是否支援mod_rewrite   通過php提供的phpinfo()函數檢視環境配置,通過Ctrl+F查找到“Loaded Modules”,其中列出了所有apache2handler已經開啟的子產品,如果裡面包括“mod_rewrite”,則已經支援,不再需要繼續設定。
  如果沒有開啟“mod_rewrite”,則打開目錄 您的apache安裝目錄“/apache/conf/” 下的 httpd.conf 檔案,通過Ctrl+F查找到“LoadModule rewrite_module”,将前面的”#”号删除即可。
  如果沒有查找到,則到“LoadModule” 區域,在最後一行加入“LoadModule rewrite_module modules/mod_rewrite.so”(必選獨占一行),然後重新開機apache伺服器即可。

2.讓apache伺服器支援.htaccess
  修改httpd.conf檔案

  Options FollowSymLinks
  AllowOverride None
  改為
  Options FollowSymLinks
  AllowOverride All

  注意:除了要設定上面的地方以後,還得設定一下下面這個(網上很多資料都沒有講到這一塊),否則你将會配制失敗, 把 DocumentRoot 後面的參數改為你本地網站的目錄 例如你網站的根目錄為 D:/web/ 則得設定為 DocumentRoot "D:/web/" 也就是修改目前目錄 

  此步驟設定好後也得重新開機apache伺服器才能生效

3.建立.htaccess 檔案
  建立 htaccess.txt
  用記事本 打開,點選檔案–另存為,在檔案名視窗輸入”.htaccess”,然後點選儲存。此檔案得儲存在網站的根目錄

4.填寫網站僞靜态規則 (需要 了解 正規表達式)

  <IfModule mod_rewrite.c>

   RewriteEngine on

   RewriteRule index.html$ index.php
   RewriteRule index-([1-9]+[0-9]*).html$ index.php?p=$1

  </IfModule>