2015-02-24 64 views
0

我有一个域test1.xxxxxx.com,test2.xxxxxx.com,test3.xxxxxx.com等指向我的DMZ IP地址。Apache从DMZ重定向到内部网络

在我的DMZ上我有一个apache web服务器。

Apache Web服务器需要重定向

test1.xxxxxx.com to test1.xxxxxx.com (192.168.1.1) on the internal network 
test2.xxxxxx.com to test2.xxxxxx.com (192.168.1.2) on the internal network 
test3.xxxxxx.com to test3.xxxxxx.com (192.168.1.3) on the internal network 

的映射test1.xxxxxx.com为192.168.1.1等在主机中指定文件

<VirtualHost *:80> 
RewriteEngine on 

RewriteCond %{HTTP_HOST} ^(test1.xxxxxx.com)$ 
RewriteRule ^(.*)$ http://test1.xxxxxx.com [R,L] 

RewriteCond %{HTTP_HOST} ^(test2.xxxxxx.com)$ 
RewriteRule ^(.*)$ http://test2.xxxxxx.com [R,L] 

RewriteCond %{HTTP_HOST} ^(test3.xxxxxx.com)$ 
RewriteRule ^(.*)$ http://test3.xxxxxx.com [R,L] 
</VirtualHost> 

当我尝试在浏览器中点击http://test1.xxxxxx.com我收到此网页有一个重定向循环

如果我有

<VirtualHost *:80> 
RewriteEngine on 

RewriteCond %{HTTP_HOST} ^(test1.xxxxxx.com)$ 
RewriteRule ^(.*)$ http://test2.xxxxxx.com [R,L] 

</VirtualHost> 

然后重写工作。

类似的东西用于工作,但我改变了我的服务器和上述不起作用。我需要做些什么才能完成这项工作。

在此先感谢

回答

0

看起来像你使用2倍相同的域名。如果test1.xxxxxx.com重定向到test1.xxxxxx.com,仍将解析为该dmz地址(它是相同的域!)并循环,直到浏览器认为它已足够:)

在您的示例中,“工作” ,你在test1.xxxxxx.com和test2.xxxxxx.com这两行上都有不同的网址,它可以解析为不同的IP。

0

使用

<VirtualHost *:80> 
    RewriteEngine on 

    RewriteCond %{HTTP_HOST} ^test1\.xxxxxx\.com [NC] 
    RewriteCond %{HTTP_HOST} !^$ 
    RewriteRule ^/?(.*)   http://test1.xxxxxx.com/$1 [L,R,NE,P] 
</VirtualHost> 

现在的工作,因为我需要它

解决