Mod rewrite 更改应用程序的上下文根

Mod rewrite 更改应用程序的上下文根,mod-rewrite,mod-jk,Mod Rewrite,Mod Jk,我有两台服务器(dev1和dev2)。一个具有上下文根app的应用程序托管在这两台服务器上,我可以通过他们的url访问这些应用程序,例如 http://dev1:8080/app http://dev2:8080/app 所以想要的是 http://dev1/app1 redirect to dev1 app http://dev1/app2 redirect to dev2 app 我在dev1服务器上安装了apache2.2,并尝试了以下操作 httpd.conf <

我有两台服务器(dev1和dev2)。一个具有上下文根app的应用程序托管在这两台服务器上,我可以通过他们的url访问这些应用程序,例如

http://dev1:8080/app
http://dev2:8080/app
所以想要的是

 http://dev1/app1 redirect to dev1 app   
 http://dev1/app2 redirect to dev2 app  
我在dev1服务器上安装了apache2.2,并尝试了以下操作

httpd.conf

<IfModule rewrite_module>
     RewriteEngine On
     JkOptions +ForwardURICompat
     RewriteCond %{REQUEST_URI} ^(.*)app1(.*)$
     RewriteRule ^(.*)app1(.*)$  $1app$2 [PT,L]

     RewriteCond %{REQUEST_URI} ^(.*)app2(.*)$
     RewriteRule ^(.*)app2(.*)$  $1app$2    [PT,L] 
</IfModule>
JkMount /app1/ node1
JkMount /app1/* node1

JkMount /app2/ node2
JkMount /app2/* node2
mod_jk.conf

<IfModule rewrite_module>
     RewriteEngine On
     JkOptions +ForwardURICompat
     RewriteCond %{REQUEST_URI} ^(.*)app1(.*)$
     RewriteRule ^(.*)app1(.*)$  $1app$2 [PT,L]

     RewriteCond %{REQUEST_URI} ^(.*)app2(.*)$
     RewriteRule ^(.*)app2(.*)$  $1app$2    [PT,L] 
</IfModule>
JkMount /app1/ node1
JkMount /app1/* node1

JkMount /app2/ node2
JkMount /app2/* node2
编辑: 重定向正在工作,但所有应用程序url现在都重定向到


您应该将
dev1
dev2
@hjpotter92与
RewriteCond%{HTTP\u HOST}^app1$
匹配,而不是(或)

您可以给我一个例子
RewriteCond%{HTTP\u HOST}^app1$
应该是
RewriteCond%{HTTP\u HOST}^dev1$
@hjpotter92查看更新的问题