Megas
@Megas

Как разрешить в htaccess некоторым путям не использовать Basic Auth?

У меня на сервере стоит Apache 2.4.
Настроен сайт который закрыт для общего посещения через запрос пароля (Basic Auth).
Задача: для определенных путей не запрашивать пароль.

После прочтения вот этой статьи мой .htaccess выглядит так:

Authtype Basic
AuthName "Test server"
AuthUserFile /xxxx/.htpasswd
<RequireAny>
    Require expr %{REQUEST_URI} =~ m#^/dir1/.*#
    Require expr %{REQUEST_URI} =~ m#^/dir2/.*#
    Require valid-user
</RequireAny>

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^(.*)$ index.php?_url=/$1 [QSA,L]
</IfModule>


Проблема только в том, что директория dir1 действительно существует в файловой системе и поэтому конфигурация нормально срабатывает. Однако директории dir2 не существует, и поэтому этот путь уже перенаправляется на скрипт как параметр через ModRewrite, а уже внутри скрипта происходит раутинг. И в данном случае почемуто конфигурация .htaccess не срабатывает и для данного пути всеравно запрашивается пароль.

Каж эту проблему решить?
  • Вопрос задан
  • 201 просмотр
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы