Mod-Rewrite

RewriteRule 中括號內的插入符號

  • November 11, 2019

這是什麼意思:

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

我知道 F 標誌意味著拋出 403 禁止錯誤。而且我知道轉義句點意味著禁止以句點開頭的目錄。但是括號中的插入符號、豎線和斜線是什麼意思呢?上面的陳述和這個陳述有什麼區別:

RewriteRule "\." - [F]

如果我想在 URL 以句點開頭但此目錄有例外時將其標記為禁止,該怎麼辦:

.well-known

更新:看起來我可以滿足後一個要求……

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

我仍然想知道括號內的插入符號、豎線和斜線是什麼意思。

^並且$是表示字元串(或行)開頭和結尾的特殊字元

|是一個OR符號

(^|/)\.展開為 ^. or /.(為清楚起見,沒有轉義斜線)

^.= 任何以 a.作為第一個字元的字元串

/.= 任何帶有 a 的字元串/.

引用自:https://serverfault.com/questions/991381