0

Web のルートを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 を強制的に書き換える方法を知っていますか?

4

1 に答える 1

0

これを最初の行として試してください。

RewriteCond %{HTTP_HOST} ^mywebsite.com$ [NC]
于 2012-10-08T19:36:18.297 に答える