Я хочу, чтобы у разных маршрутов был свой пароль. Так что у меня есть LocationMatch
:
<LocationMatch /shiny/(?<appname>.*)>
AuthType Basic
AuthName "Enter your login name and password"
AuthUserFile "/path/to/directory/with/passwords/.%{env:MATCH_APPNAME}.pwd"
Require valid-user
</LocationMatch>
Но я получаю 500 Internal Server Error, потому что %{env:MATCH_APPNAME}
не оценивается:
[Thu Sep 20 12:11:21.678370 2018] [authn_file:error] [pid 16932:tid 140332725917440] (2)No such file or directory: [client xxx.xxx.xxx.xxx:52274] AH01620: Could not open password file: /path/to/directory/with/passwords/.%{env:MATCH_APPNAME}.pwd
Я следую официальным инструкциям Вот. Что я делаю не так? Спасибо.
версия apache2: apache2 (OpenRC) 0.34.11 (Gentoo Linux)
Как указано в цитируемых вами документах, Apache поддерживает этот стиль ссылок на регулярные выражения в выражения (документы), но AuthUserFile ожидает Путь файла в качестве аргумента - таким образом воспринимая вашу строку буквально.
Увидеть Если директивы, чтобы увидеть, как указана директива, поддерживающая выражение. На странице документации о выражениях есть список поддерживающих их директив.