Исключение в .htaccess при доступе к парольному URI для REST API - PullRequest
1 голос
/ 07 апреля 2020

Я установил аутентификацию по паролю для веб-сайта в .htaccess и хотел бы сделать исключение, когда входящий запрос относится к определенному URI. В основном это работает до одной точки.

.htaccess выглядит так:

AuthType Basic
AuthName "Password"
AuthBasicProvider web-user
<RequireAny>
        Require valid-user
        Require env let_me_in
</RequireAny>

Я добавил:

SetEnvIf Request_URI "/path1/path2/?rest" let_me_in

, но в этом случае вопросительный знак опускается и авторизует меня без пароля для / path1 / path2 / rest , но не для / path1 / path2 / ? rest

если я изменю его, добавив символ экранирования, например так:

SetEnvIf Request_URI "/path1/path2/\?rest" let_me_in 

он все еще требует авторизации для / path1 / path2 /? Rest

xxx.xxx.xxx.xxx - - [07/Apr/2020:21:01:50 +0200] "GET /path1/path2/?rest HTTP/1.1" 401 693 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/Safari"

/ path1 / path2 / это root веб-сайта

В качестве временного решения я разрешил любой доступ для определенного IP-адреса - но это не тот способ, которым это должно работать

SetEnvIf Remote_Addr xxx.xxx.xxx.xxx let_me_in

Как можно Я получаю, что SetEnvIf Request_URI работает правильно для этого конкретного случая?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...