Apache HTTP Server 2.4 版
mod_rewrite
提供一種方法,可根據正規表示式規則動態修改輸入的 URL 要求。這樣一來,您便能以任何您喜歡的方式將任意的 URL 對映到您的內部 URL 結構。
它支援無限數量的規則,以及每個規則附加無限數量的規則條件,以提供一個真正有彈性且強大的 URL 處理機制。URL 處理可取決於各種測試:伺服器變數、環境變數、HTTP 標頭、時間戳記、外部資料庫查詢和各種其他外部程式或處理常式,可拿來達成精細的 URL 比對。
改寫規則可以在完整的 URL 上運作,包括路徑資訊和查詢字串的部分,並可能在伺服器每單位的環境 (httpd.conf
)、虛擬主機每單位的環境 (class="directive"<VirtualHost>
區塊) 或目錄每單位的環境 (.htaccess
檔案和 class="directive"<Directory>
區塊) 中使用。依據您在規則中附加哪些旗標,改寫的結果可導致其他的規則、內部子處理、外部要求重新導向或代理通道。
由於 mod_rewrite 非常強大,所以它可能很複雜。此文件補充了參考文件,並試圖減輕一些複雜性,並提供您可能使用 mod_rewrite 處理的常見情況的高度註解範例。但是我們也嘗試向您說明何時不應該使用 mod_rewrite,而應改用其他標準 Apache 功能,從而避免這種不必要的複雜性。