在 Apache 中,RewriteRule 是一個用于重寫 URL 的指令。它的語法如下:
RewriteRule pattern target [flags]
其中,參數的含義如下:
pattern
:匹配的模式,可以是正則表達式或者簡單的字符串。例如,^abc/(.*)$
表示以 abc/
開頭的 URL。
target
:重寫后的目標 URL 或者文件路徑。可以是一個絕對路徑,也可以是一個相對路徑。例如,/new-url
或 http://example.com/new-url
。
flags
:可選參數,用于修改重寫規則的行為。常用的 flags 包括:
[L]
:標記為最后一條規則,停止繼續匹配其他規則。
[R]
:執行外部重定向,將 URL 修改為目標 URL 并返回 302 Found 狀態碼。
[F]
:返回 403 Forbidden 狀態碼,禁止訪問目標 URL。
[NC]
:不區分大小寫進行匹配。
[QSA]
:將原始的查詢參數保留在目標 URL 中。
這些參數可以組合使用,以實現更復雜的重寫規則。