比较来自世界各地的卖家的域名和 IT 服务价格

Apache ProxyHTMLURLMap 来自字符串替换 LocationMatch

我正在尝试创建一个反向代理服务器 Apache, 通过单个接入点制作一组服务器。 所有服务器都提供端口上的Web管理员界面 3000, 我打算将它们作为反向代理服务器上的所有目录提交。 接口包含本地链接,当然必须重写为转到正确的服务器到代理子目录。

我可以单独为每个服务器的配置片段达到所需的行为:

<location testadmin-warsaw=""></location>
ProxyPass [url=http://warsaw.example.com:3000/]http://warsaw.example.com:3000/[/url]
ProxyPassReverse /
ProxyHTMLEnable On
ProxyHTMLURLMap / /testadmin-warsaw/ L
RequestHeader unset Accept-Encoding


因为随着服务器来到,它变得相当乏味,而且受到错误,我致力于动态配置。 根据文件 Apache, 以下应该有效:

<locationmatch "^="" testadmin-(?<officename="">\w+)/(.*)$"&gt;
ProxyPassMatch http://$1.example.com:3000/$2
ProxyPassReverse /
ProxyHTMLEnable On
ProxyHTMLInterp On
ProxyHTMLURLMap / /testadmin-${env:MATCH_OFFICENAME|unknown}/ VL
RequestHeader unset Accept-Encoding
</locationmatch>


<locationmatch>

建立一个变量环境

MATCH_OFFICENAME

到目录办公室,和

ProxyHTMLURLMap

将此名称插入重写链接中的相应位置。

但是当我测试此配置时,链接最初指示

/other/page.html

倒带

/testadmin-unknown/other/page.html

代替

/testadmin-warsaw/other/page.html

正如预期的那样。 换一种说法,

ProxyHTMLURLMap

充当环境变量

MATCH_OFFICENAME

沮丧。

如果我省略

env:

部分并放置

/testadmin-${MATCH_OFFICENAME}/

作为发送的模板 Apache RegistLIS警告: «AH00111: 可变配置 $ {MATCH_OFFICENAME} 还没决定 ”。

我的错误在哪里?
</locationmatch>
已邀请:

风见雨下

赞同来自:

句法

没有


env:

正确。 在

AH00111

根据
https://bz.apache.org/bugzilla ... 58467
.

配置:

<locationmatch "^="" testadmin-(?<officename="">\w+)/(.*)$"&gt;
ProxyPassMatch http://$1.example.com:3000/$2
ProxyPassReverse /
ProxyHTMLEnable On
ProxyHTMLInterp On
ProxyHTMLURLMap / /testadmin-${MATCH_OFFICENAME|unknown}/ VL
RequestHeader unset Accept-Encoding
</locationmatch>

在目的地上工作,除了每次错误警告。

要回复问题请先登录注册