我有这个htaccess规则来阻止所有.xml请求:
<Files ~ "\.xml$">
Order allow,deny
Deny from all
Satisfy all
</Files>
但是,我需要允许一个.xml文件。该规则应该如何重写?
此外,在该规则之上,我有一个例外:
RewriteRule ^(myxml\.xml)$ $1 [L]
但是仍然不允许该文件。
答案 0 :(得分:1)
Apache Regexp Engine与PCRE兼容,那么为什么不使用带有负向lookbehind断言"(?<!\bmyxml)\.xml$"
的正则表达式?
这说的是匹配以.xml结尾的内容,只要它不在myxml之前。这意味着该规则不会为myxml.xml触发,因此不会被拒绝。
根据Apache文档,BTW FilesMatch比Files~更受欢迎。不要问我为什么。