Apache Rewrite模塊提供了一系列的指令,用于實現URL的重寫和重定向。以下是一些常用的指令:
- RewriteEngine On:開啟URL重寫功能。
- RewriteBase /:設置重寫的基本路徑。如果不指定,則默認為當前目錄。
- RewriteRule ^old-url$ new-url [R=301,L]:將舊的URL(old-url)重定向到新的URL(new-url)。其中,301表示永久重定向,L表示這條規則是最后一條要處理的規則。
- RewriteCond %{HTTP_HOST} ^(www.)?example.com$:這是一個條件判斷指令,用于檢查請求的域名是否為example.com或其子域名。
- RewriteCond %{REQUEST_FILENAME} !-f:這個條件判斷指令用于檢查請求的文件或目錄是否存在。
- RewriteCond %{REQUEST_FILENAME} !-d:這個條件判斷指令用于檢查請求的文件或目錄是否不存在。
- RewriteRule ^(.*)$ index.php/$1 [L]:將所有請求重寫到index.php文件,并保留原始的URL路徑。
- RewriteCond %{REQUEST_FILENAME} !-l:這個條件判斷指令用于檢查請求的文件或目錄是否是符號鏈接。
- RewriteRule ^(.*).html$ $1.php [L]:將所有以.html結尾的請求重寫到對應的.php文件。
- RewriteRule ^category/(.*)$ category.php?id=$1 [L]:將所有以category/開頭的請求重寫到category.php文件,并將ID參數傳遞給該文件。
除了以上這些常用的指令外,Apache Rewrite還提供了很多其他的功能和選項,可以根據實際需求進行配置和使用。需要注意的是,在使用Apache Rewrite時,要確保已經正確安裝并啟用了該模塊,并且要謹慎配置規則,以免導致意外的重定向或無法訪問的問題。