在 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 中。
这些参数可以组合使用,以实现更复杂的重写规则。