RewriteRule 中括号内的插入符号

RewriteRule 中括号内的插入符号

这是什么意思:

RewriteRule "(^|/)\." - [F]

我知道 F 标志意味着抛出 403 禁止错误。我也知道转义句点意味着以句点开头的目录是被禁止的。但是括号内的插入符号、竖线和斜线是什么意思呢?上面的语句和下面的语句有什么区别:

RewriteRule "\." - [F]

如果我想将以句点开头的 URL 标记为禁止访问,但此目录除外,该怎么办?

.well-known

更新:看来我可以用以下方法满足后者的要求……

RewriteRule "(^|/)\.(?!well-known)" - [F]

我仍然想知道括号内的插入符号、竖线和斜线是什么意思。

答案1

^$是表示字符串(或行)开始和结束的特殊字符

|是一个OR符号

(^|/)\.扩展为 ^. 或者 /.(为了清晰起见,没有使用转义斜线)

^.= 任何以 a.作为第一个字符的字符串

/.= 任何带有/.

相关内容