FilesMatch
允许您使用正则表达式来匹配文件。
在你上面的FilesMatch
您有 4 组正则表达式,其中 1 组有辅助可选组。
基本上,它所做的就是禁止访问(错误 403)对正则表达式组中描述的任何找到的文件。
例如:
\.(engine|inc ...)$|
意味着如果文件以 .engine 或 .inc 或 ... 规则的其余部分结尾,则拒绝对其进行访问。
然后在第一组规则的末尾你有一个|
就像上面的例子一样,代表OR
因此,如果第一组规则不匹配,则会启动第二组规则,这略有不同。
^(\..*|Entries.*|Repository)$
在这里,它执行相反的操作,如果文件以给定关键字开头和结尾,则它会匹配,例如:
如果文件开头为.
后面跟着任何 (.*
) 表示其他任何内容,例如.htaccess
或开始于Entries
后面跟着任何东西或正是存储库或......直到最后。
然后是下一个规则^#.*#$
,这意味着文件以#
as #
它按字面意思对待
最后一组规则与第一个验证文件是否以给定扩展名结尾的规则相同。
如果您想了解更多,那么我建议您了解更多Perl 兼容正则表达式 (PCRE) http://en.wikipedia.org/wiki/PCRE