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

Аутентификация LocationMatch, всегда позволяет

У меня на моем виртуальном хосте есть:

<LocationMatch "/pressonly">
     AuthType Basic
     AuthName "Press Only"
     AuthUserFile /home/pur/.htpasswd
     Require valid-user
</LocationMatch>

Он показывает, что вход в систему выполнен нормально, но если я нажму «Отмена», я все равно получаю страницу. Что я упускаю / делаю неправильно?

Обновить:

Я думаю, после некоторого дополнительного исследования я обнаружил, что мое Location / LocationMatch должно пройти после выполнения любой перезаписи. Поэтому мой vhost должен быть:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ /index.php [NC,L]
<Location /pressonly>
     AuthType Basic
     AuthName "Press Only"
     AuthUserFile /home/pur/.htpasswd
     Require valid-user
</Location>

И у меня не должно быть файла .htaccess. Однако использование вышеуказанного не приводит к перезаписи.

Добавьте порядок запретить, разрешить утверждения, а также запретить от всех. Вам также понадобится директива удовлетворения. Я подозреваю, что ваше разрешение по умолчанию срабатывает после того, как вы отмените аутентификацию.

<Location /pressonly>
    AuthType Basic
    AuthName "Press Only"
    AuthUserFile /home/pur/.htpasswd
    Require valid-user
    order allow,deny
    deny from all
    Satisfy any
</Location>

Обновление: не должно быть пробела между разрешить и запретить.