Назад | Перейти на главную страницу

Apache directive priorities: <location> против <files xmlrpc.php=""></files></location>

Я пытаюсь заставить следующие 2 блока директив работать вместе, но по какой-то причине <Location> блок имеет приоритет над <Files> блок, независимо от того, в каком порядке я их поставил:

SetEnvIfNoCase User-Agent "baidu" badbot
SetEnvIfNoCase User-Agent "meanpath" badbot
SetEnvIfNoCase User-Agent "seoengbot" badbot
SetEnvIfNoCase User-Agent "spinn3r" badbot
SetEnvIfNoCase User-Agent "ahrefs" badbot
SetEnvIfNoCase User-Agent "yandex" badbot
SetEnvIfNoCase User-Agent "dotbot" badbot
SetEnvIfNoCase User-Agent "webtarantula" badbot
SetEnvIfNoCase User-Agent "spiderbot" badbot
<Location />
        order allow,deny
        allow from all
        Deny from env=badbot
</Location>

<Files xmlrpc.php>
    Order Deny,Allow
    Deny from all
    ErrorDocument 403 "Denied"
    Allow from 127.0.0.1
    # should be Wordpress.com allowed
    Allow from 192.0.64.0/18
</Files>

Когда я удаляю первый блок, доступ к xmlrpc.php на сервере xmlrpc.php правильно запрещается, а когда он находится там, он снова разрешен. Есть ли способ заставить эти директивы мирно сосуществовать? Это Apache 2.2.29 на CentOS 6.7.