.htaccess文件中的RewriteRule語法規則用于重寫URL,格式如下:
RewriteRule pattern target [flags]
其中,pattern表示匹配的URL模式,target表示要重寫的目標URL,flags表示標志位,用于指定重寫規則的行為。
pattern可以是一個簡單的字符串,也可以是一個正則表達式,用于匹配URL。
target可以是一個簡單的URL,也可以是一個帶有變量的URL,可以使用正則表達式中的捕獲組來引用pattern中匹配的部分。
flags是可選的參數,用于指定重寫規則的行為。常用的flags包括:
NC:不區分大小寫匹配
L:停止解析其他的規則
R:強制重定向,將URL改寫為target指定的URL
F:禁止訪問,返回403 Forbidden錯誤
G:強制在URL中添加"GET"參數
QSA:在重寫后的URL中保留查詢字符串
例如,下面的規則將所有以"/page"開頭的URL重寫為"/index.php?page="加上實際的頁面名稱,并在URL中保留查詢字符串:
RewriteRule ^page/(.*)$ /index.php?page=$1 [QSA,L]
這樣,當用戶訪問"/page/about"時,實際請求的URL將是"/index.php?page=about"。