我在我的本地系统中使用weblogic托管了4个托管服务器,我想使用apache将webrequests重定向到它们,虽然我已经实现了但是目前我使用4个虚拟主机来实现它,我认为不是这样的非常有效的方法。
因此,我想使用单个虚拟主机重定向到这4个托管服务器,如果可能的话,可能会基于一些别名。
以下是我迄今为止所做的工作:
<VirtualHost *:8080>
Redirect / http://samplehost:16200/cs
</VirtualHost>
<VirtualHost *:8081>
Redirect / http://samplehost:16250/ibr
</VirtualHost>
<VirtualHost *:8082>
Redirect / http://samplehost:16225/wcc
</VirtualHost>
<VirtualHost *:8083>
Redirect / http://samplehost:16400/cpt
</VirtualHost>
有什么方法可以将这些内容与一个虚拟主机联系起来?,任何出路?可能正在使用服务器名称或别名,无论哪个可以帮助。
我尝试使用RewriteRule实现这一点,但它没有奏效,以下是该代码:
<VirtualHost *:84>
RewriteEngine on
/
RewriteRule "^/$" "http://www.google.co.in" [R,L]
RewriteRule "^/am/?$" "http://www.amazon.co.in" [R,L]
RewriteRule "^/fk/.+" "http://www.flipkart.co.in" [R,L]
</VirtualHost>
提前感谢您的帮助,我仍在刷我的Apache概念,任何帮助都会很棒!!!
答案 0 :(得分:0)
我现在找到了一种类似于魅力的出路,让我们看看它的样子:
<VirtualHost samplehost:80>
RewriteCond %{REQUEST_URI} ^/cs/
Redirect / http://samplehost:16200/
RewriteCond %{REQUEST_URI} ^/ibr/
Redirect / http://samplehost:16250/
RewriteCond %{REQUEST_URI} ^/wcc/
Redirect / http://samplehost:16225/
RewriteCond %{REQUEST_URI} ^/cpt/
Redirect / http://samplehost:16400/
</VirtualHost>
因此我甚至不必记住不同虚拟主机的端口号。
在做这个的时候我甚至找到了另一个解决方案,它看起来像这样:
<VirtualHost samplehost:80>
RewriteEngine On
RewriteRule "^/cs/?$" "http://samplehost:16200/cs" [R,L]
RewriteRule "^/ibr/?$" "http://samplehost:16250/ibr" [R,L]
RewriteRule "^/wcc/?$" "http://samplehost:16225/wcc" [R,L]
RewriteRule "^/cpt/?$" "http://samplehost:16400/cpt" [R,L]
</VirtualHost>
这两个解决方案都非常出色,感谢@arkascha带来了RewriteCond。
感谢您的帮助!!!