提问者:小点点

centOS htaccess文件上的Proxypass和ProxyPassReverse复制


我一直试图复制ProxyPass和ProxyPassReverse在我的网站托管在Hostgator Centos服务器.我有一个tomcat应用程序运行在亚马逊ec2与URLhttp://myec2address.com:8080/portal/

我成功地在本地windows机器上复制了用例,并在httpd-proxy-html文件上进行了以下配置。

ProxyPass /portalBI超文本传输协议://{localhost}: 8080/poratalBI

ProxyPass /sw-style超文本传输协议://{localhost}: 8080/sw-style

ProxyPass /portal-style超文本传输协议://{localhost}: 8080/portal-style

ProxyPassReverse /portalBI超文本传输协议://{localhost}: 8080/agrometricsBI

ProxyPassReverse /sw-style超文本传输协议://{localhost}: 8080/sw-style

ProxyPassReverse /portal-style超文本传输协议://{localhost}: 8080/portal-style

由于托管网站在共享服务器上,我想我必须修改我的. htaccess文件。我尝试了很多技巧,但没有成功。你能帮忙吗?因为centOS,我们需要处理特殊字符吗?

谢谢。


共1个答案

匿名用户

您不能在htaccess文件中使用ProxyPassProxyPassReverse。您最多可以使用mod_rewrite的P标志进行反向代理(相当于ProxyPass):

RewriteEngine On
RewriteRule ^portalBI(.*)$ http://localhost:8080/poratalBI$1 [L,P]
RewriteRule ^sw-style(.*)$ http://localhost:8080/sw-style$1 [L,P]
RewriteRule ^portal-style(.*)$ http://localhost:8080/portal-style$1 [L,P]

除非您的共享主机mod_proxy加载,否则这将无法工作,而且您不会像使用ProxyPassReverse那样获得反向位置重写。