我想配置服务器以通过代理传递来监听localhost地址。 拳头,我添加了如下的代理通过配置:
ProxyPass /test http://localhost:5959/ nocanon
ProxyPassReverse /test http://localhost:5959/
ProxyPassReverse /test http://domain_name.net/
索引工作正常,但是问题是当我单击某个按钮以将其重定向到另一页时。我预计重定向将类似于:http://domaine_name.net/test/anotherpage.php,但没有用。
我尝试了另一种配置,但是没有用
ProxyPass /test/ http://localhost:5959/test/
ProxyPassReverse /test/ http://localhost:5959/test/
ProxyPassReverse /test/ http://domain_name.net/test/
如何解决此问题?
答案 0 :(得分:0)
请勿放置2个ProxyPassReverse
指令。只有一个。并且它应该与ProxyPass
目的地匹配。因此只需要您的第一个ProxyPassReverse
。
ProxyPass /test http://localhost:5959/ nocanon
ProxyPassReverse /test http://localhost:5959/
摘自ProxyPassReverse
,(https://httpd.apache.org/docs/2.4/mod/mod_proxy.html#proxypassreverse)的文档:
此指令可让Apache httpd调整位置中的URL, HTTP重定向响应上的Content-Location和URI标头。 [...]
您在问题中说:
我希望重定向如下: http://domaine_name.net/test/anotherpage.php,但是没有用。
这很正常。代理将最终的目标服务器隐藏到客户端。如果要重定向客户端,请不要使用代理。使用mod_rewrite(RewriteRule
等)。