apache多主机反向代理重写

apache多主机反向代理重写,apache,url-rewriting,proxy,Apache,Url Rewriting,Proxy,我想让apache充当反向代理并将URL重定向到不同的主机 <VirtualHost *:80> ProxyPreserveHost On RewriteEngine On RewriteRule ^/app1/(.*) http://192.168.56.102:10001/$1 [P,L] ProxyPassReverse /app1/ http://192.168.56.102:10001/ RewriteRule ^/(.*

我想让apache充当反向代理并将URL重定向到不同的主机

<VirtualHost *:80>
ProxyPreserveHost On
RewriteEngine       On
RewriteRule         ^/app1/(.*) http://192.168.56.102:10001/$1 [P,L]
ProxyPassReverse    /app1/ http://192.168.56.102:10001/

RewriteRule         ^/(.*) http://192.168.56.102:82/$1 [P,L]
ProxyPassReverse    / http://192.168.56.102:82
ServerName servername.local
</VirtualHost>

但这是行不通的,有办法做到吗

放弃重写,只需使用ProxyPass即可。您混淆了ProxyPassReverse的功能与ProxyPass或RewriteRule与P标志的功能


而且,你不是在“重定向”,你是在代理。如果要代理/app1,则在为其设置rewriterule或proxypass时不要包含尾随斜杠。

如果我使用proxypass/app1 proxypass/则感谢您的回答,但我使用rewriterule和proxypass,因为如果我在index.html文件中使用/static.css,则重定向到app1时遇到无法解决的问题ressource将加载基本url而不是,但是如果我在app1的index.html中使用static.css,它会工作,但我使用的代码不是我的,并且所有静态资源的前缀都是slashsorry而不是
 ProxyPassReverse    /app1 http://192.168.56.102:10001/