我有一系列的网址:
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¶my=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/
由于您没有指定那里的内容,因此虚构了它。它只是为了显示指令的正确顺序。