我在尝试从 mywebsite.com/mywebsite 重写我的网络根目录到 www.mywebsite.com/mywebsite
时遇到问题。问题与使用 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]
关键是如果我写 mywebsite.com/something ,规则就可以了。在这种情况下,它被正确地重定向到 www.mywebsite.com/something
然而,似乎代理优先于重写规则中的内容。也就是说,当它找到mywebsite.com/mywebsite时,不是将其重写到www.mywebsite.com/mywebsite然后调用Tomcat,而是在不触及URL的情况下立即调用它。
你知道在代理Tomcat之前强制重写URL的方法吗?
答案 0 :(得分:0)
尝试将此作为第一行:
RewriteCond %{HTTP_HOST} ^mywebsite.com$ [NC]