Мне сложно понять, как использовать переменные среды в ProxyPassMatch
.
Мой общий формат:
<LocationMatch "(?<THING>Regex)">
ProxyPassMatch http://example.com:8000/%{env:MATCH_THING}
ProxyPassReverse /
</LocationMatch>
у меня есть %{MATCH_THING}e
logged, и журнал показывает, что URL-адрес, захваченный регулярным выражением, захватывает то, что я хочу захватить, но каждый раз, когда я пытаюсь получить доступ к LocationMatched
URL через прокси, я получаю 404 Not Found.
Работает, когда я пытаюсь напрямую http://example.com:8000/RegexCapturedURL
.
куда RegexCapturedURL
знак равно %{MATCH_THING}e;
Вот некоторые из ProxyPassMatch
строки, которые я пробовал до сих пор:
ProxyPassMatch http://example.com:8000/%{env:MATCH_THING}
ProxyPassMatch http://example.com:8000/%{MATCH_THING}
ProxyPassMatch http://example.com:8000/%{THING}
ProxyPassMatch http://example.com:8000/%{MATCH_THING}e
Что я делаю не так или не понимаю правильно?
Я обнаружил, что это очень похоже на то, что вы ищете.
https://stackoverflow.com/a/11852428/1459214
вы можете сначала попробовать регулярное выражение, чтобы включить более широкое соответствие, а затем проверить, является ли ваше регулярное выражение проблемой, как указано в ответе
основной пост здесь: https://stackoverflow.com/questions/11852238/proxypassmatch-with-proxypassreverse