当使用正则表达式时,为什么`<filesmatch>`优先于Apache中的`<files>`?</files> </filesmatch>

时间:2013-02-09 22:34:13

标签: apache

docs说:

  

也可以使用正则表达式,并添加~个字符。例如:

<Files ~ "\.(gif|jpe?g|png)$">
     

将匹配最常见的Internet图形格式。 <FilesMatch>是   但是,首选。

但我不明白为什么这是首选。

2 个答案:

答案 0 :(得分:6)

基本上两者都会这样做。通常在出现这种情况时,这是造型/可读性的问题。例如,如果某人不熟悉Apache的配置Files将读作“这将匹配给定的文件名,如在Unix文件名中”,FilesMatch但是当使用正则表达式时更易于阅读。匹配部分将使用正则表达式匹配器中的匹配器,而~Files相对。

一定要为正则表达式选择一个,而不是两者。保持一致,这将确保配置文件的可读性。

答案 1 :(得分:1)

没有充分的理由,他们在运行时也做同样的事情。

带有* Match替代的指令是Apache使用的一致方式,可以接受现有指令的正则表达式。

这只是配置样式/一致性问题。