我很难弄清楚如何在中使用环境变量ProxyPassMatch
。
我的一般格式:
<LocationMatch "(?<THING>Regex)">
ProxyPassMatch http://example.com:8000/%{env:MATCH_THING}
ProxyPassReverse /
</LocationMatch>
我已经%{MATCH_THING}e
记录,并且日志显示正则表达式捕获的 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
我做错了什么或者没有正确理解什么?
答案1
我发现这与您所寻找的非常接近。
https://stackoverflow.com/a/11852428/1459214
您可以先尝试使用正则表达式来包含更广泛的匹配,然后检查您的正则表达式是否是问题所在,如答案中所示
主要帖子在这里:https://stackoverflow.com/questions/11852238/proxypassmatch-with-proxypassreverse