我正在尝试为子文件夹应用一些规则,但不为其他子文件夹应用。
我有这个
SetEnvIf Referer "((.+\.)?domain\.com|localhost)" localreferer
<DirectoryMatch "/bin(.+/)?">
Require env localreferer
</DirectoryMatch>
它工作正常。但是现在我需要这个规则不适用于/ bin / public。我将/ bin / private和/ bin / public,我需要应用/ bin / private
的规则我试过
SetEnvIf Referer "((.+\.)?domain\.com|localhost)" localreferer
<DirectoryMatch "/bin/private(.+/)?">
Require env localreferer
</DirectoryMatch>
但所有bin的子文件夹都允许来自所有引用者。
允许/ bin / public从任何referer和/ bin / private访问的正确的正则表达式只有我列表中的那些
提前致谢
答案 0 :(得分:1)
我找到了问题和解决方案。我需要使用LocationMatch而不是DirectoryMatch,所以
SetEnvIf Referer "((.+\.)?domain\.com|localhost)" localreferer
<LocationMatch "/bin(.+/)?">
Require env localreferer
</LocationMatch>
<LocationMatch "/bin/public(.+/)?">
Require all granted
</LocationMatch>