Защищать паролем только домашнюю страницу
Я пытаюсь защитить только мою домашнюю страницу с помощью Apache Basic Auth.
Кажется, это работает на все, а не только л.с.
<LocationMatch "/">
AuthType Basic
AuthName "heelooo?"
AuthUserFile /var/path/.htpasswd
Require valid-user
</LocationMatch>
Изменение регулярного выражения на ^/$
или же ^$
заставляет это ничего не аутентифицировать. Какие-нибудь советы? (работает приложение mod_ruby rails)
2 ответа
Всегда лучше использовать директиву Directory для настройки аутентификации.
<Directory /home-path>
AuthName Members
AuthType Basic
Require valid-user
AuthUserFile /auth-file-path/.htpasswd
</Directory>
Решение Ruby-on-rails:
before_filter :authenticate
protected
def authenticate
authenticate_or_request_with_http_basic do |username, password|
username == "user" && password == "pass"
end
end
Я повторил все свои попытки, и один решил работать. Я обнаружил, что LocationMatch "^/$" действительно работает. Должно быть, я делал что-то не так раньше. basicauth действительно может работать с mod_ruby - не нужно запускать как fastcgi. Спасибо за помощь.