Questions tagged «configuration»

2
<Directory>和<DirectoryMatch>(以及其他<* Match>指令)之间的显式差异
前言 我是有关Web服务器的新手。我正在设置一个Apache2服务器,目前正在研究文档。 我的发现&lt;Directory&gt;,&lt;Location&gt;和&lt;Files&gt;指示每个都有相应的&lt;*Match&gt;:指令&lt;DirectoryMatch&gt;,&lt;LocationMatch&gt;并&lt;FilesMatch&gt;分别。表面上的差异足够明显: &lt;*Match&gt; 指令以正则表达式为参数 非匹配指令将纯字符串或外壳样式的glob作为其参数。 奇怪的是,如果非Match指令前面带有“〜”,也可以为其指定正则表达式作为其参数。因此,以下两行应该相同: # From the Apache2 docs &lt;Directory ~ "^/www/[0-9]{3}"&gt; ... &lt;/Directory&gt; &lt;DirectoryMatch "^/www/[0-9]{3}"&gt; ... &lt;/DirectoryMatch&gt; 问题 我想知道的是,是否有任何细微或关键的差异需要注意,Apache的core文档没有提及。本&lt;DirectoryMatch&gt;节确实提到了一个细微的区别: 兼容性 在2.3.9之前的版本中,此伪指令隐式应用于子目录(如&lt;Directory&gt;),并且与行符号($)的末尾不匹配。在2.3.9及更高版本中,仅与表达式匹配的目录受附带的指令影响。 除此之外,我想知道: Match和non-Match指令之间还有其他区别吗? 当需要正则表达式时,哪个指令更可取? 您认为还有其他相关信息吗? 笔记 &lt;DirectoryMatch&gt;并且&lt;Directory "~"&gt;在同一合并级别 尽管没有明确提及,但&lt;Directory "~"&gt;可以像一样使用命名组和反向引用&lt;DirectoryMatch&gt;。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.