2012-10-08 60 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

這是非常奇怪的,因爲它應該工作...但這種問題應該問服務器故障反正:) –