2009-07-31 20 views
0

私はTomcat(6.0.20)とApache Serverの設定(2.2)を持っており、すべてのサブドメインをドメイン上の特定のコンテキストにリダイレクトしようとしています。mod_jkを使ってTomcatのApache Tomcatでサブドメインをリダイレクト

例えば、s.example.comはApacheがmod_jkを介して要求をフォワーディングにおいてれる

www.example.comにリダイレクト(Iはmod_proxyを試みたが、CSSとJSは、その絶対的ではないURLとして読み込まれませんでした)。

私の現在の設定:

のhttpd.conf:

Include C:/apache-tomcat-6.0.20/conf/auto/mod_jk.conf 
RewriteEngine On 
<VirtualHost *:80> 
    ServerName www.example.co.za 
    ServerAlias www.example.co.za example.co.za *.example.co.za 
    RewriteEngine on 
    RewriteLog "C:/Program Files/Apache Software Foundation/Apache2.2/logs/rewrite.log" 
    RewriteLogLevel 3 
    RewriteCond %{HTTP_HOST} example\.co\.za.*$ [NC] 
    RewriteRule ^(.*)$ http://www.example.co.za [L] 
    JkMount /* worker1 
</VirtualHost> 
JkMount /* worker1 

のserver.xml:

<Host name="www.example.co.za" appBase="hosts/example" 
     unpackWARs="true" autoDeploy="true" 
      xmlValidation="false" xmlNamespaceAware="false"> 
      <Valve className="org.apache.catalina.valves.AccessLogValve" 
       directory="C:/apache-tomcat-6.0.20/logs" prefix="localhost_access_log." 
       suffix=".txt" pattern="common" resolveHosts="false"/> 

      <Context path="" docBase="Property"/> 
       <Alias>*.example.co.za</Alias> 
     </Host> 

がww.example.comのリダイレクトが非に起こっています-stopリダイレクトループ。

これは、ユーザーがサーバー上のtomcatマネージャーや他のアプリケーション(つまりhudson)にアクセスできるため、セキュリティ上の観点から非常に重要です。

答えて

1

は、この規則試してみてください:

RewriteCond %{HTTP_HOST} !^www\.example\.co\.za$ 
RewriteRule^http://www.example.co.za [L] 

をそして、あなたは要求されたURIを維持したい場合:

RewriteCond %{HTTP_HOST} !^www\.example\.co\.za$ 
RewriteRule^http://www.example.co.za%{REQUEST_URI} [L] 

さらに私は、あなたが301リダイレクトを使用することをお勧めします。したがって、Rフラグに値を置き換えて、[L,R=301]に置き換えます。

+0

信じられないほど単純です。ありがとう – RaelG

関連する問題