使用反向代理匹配精确的 URL 字符串(包括参数和重定向)

使用反向代理匹配精确的 URL 字符串(包括参数和重定向)

我有一系列的网址:

http://ip:port/path/page.php?paramN=foo
http://ip:port/path/page.php?paramN=bar?paramy=whatever

... 等等

我需要按原样匹配 URL,并将第一个 URL 重定向到:

http://host1/john.php

第二个是:

http://host2/doe.php

等等

没有正则表达式,没有重写,只是像哈希图一样的东西。

我该如何使用像 apache 或 nginx 这样的反向代理?

谢谢,马里奥

答案1

在 Apache 中,如果只需要重定向精确匹配而不需要正则表达式,则可以使用mod_aliasRedirect名称并将它们添加到<Proxy>容器在你ProxyPass和之前ProxyPassReverse

<Proxy *>
  Redirect /path/page.php?paramN=foo http://host1/john.php
  Redirect /path/page.php?paramN=bar&paramy=whatever http://host2/doe.php
</Proxy>

ProxyPass / http://127.0.0.1:8080/
ProxyPassReverse / http://127.0.0.1:8080/

在此示例中,http://127.0.0.1:8080/由于您没有指定那里的内容,因此虚构了它。它只是为了显示指令的正确顺序。

相关内容