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