2012-10-08 44 views
0

我有一个问题,试图从mywebsite.com/mywebsitewww.mywebsite.com/mywebsite重写我的网站根目录。Apache + Tomcat与mod_proxy - 重定向到www不工作

的问题是关系到使用的mod_proxy的调用Tomcat的

文件proxy.conf

<ifmodule mod_proxy.c> 
    ProxyRequests Off 
    ProxyPreserveHost On 

    <proxy *> 
     AddDefaultCharset off 
     Order deny,allow 
     Allow from all 
    </proxy> 

    ProxyVia On 
    ProxyPass /mywebsite ajp://91.222.222.222:8009/mywebsite 
    ProxyPassReverse /mywebsite ajp://91.222.222.222:8009/mywebsite 

    <location miaplicacion> 
     Order allow,deny 
     Allow from all 
    </location> 
</ifmodule> 

文件的.htaccess

RewriteCond %{HTTP_HOST} !^www.mywebsite.com [NC] 
RewriteRule ^(.*)$ http://www.mywebsite.com/$1 [NC,L,R=301] 

点这是规则的工作ks好的,如果我写mywebsite.com/something。在这种情况下,它被正确地重定向到www.mywebsite.com/something

但是看起来好像代理对重写规则中写入的内容有偏好。也就是说,当它找到mywebsite.com/mywebsite时,不必将其重写到www.mywebsite.com/mywebsite,然后调用Tomcat,它会立即调用它,而不会触及URL。

您是否知道在代理到Tomcat之前强制重写URL的任何方式?

+1

是,去掉!在www第一行之前(和www。为你想要做的) –

+0

这样的结果是一样的:当/(mywebsite)之后的内容与www之间的内容相同时。和.com它什么都不做,只是把它留作mywebsite.com/mywebsite – codependent

+0

是你的文档根目录中的htaccess文件?或者这是在虚拟主机配置? –

回答

0

试试这个作为你的第一行:

RewriteCond %{HTTP_HOST} ^mywebsite.com$ [NC] 
+0

仍然是一样的... – codependent

+0

这是非常奇怪的,因为它应该工作...但这种问题应该问服务器故障反正:) –