2009-07-31 9 views
0

Ich habe eine Tomcat (6.0.20) und Apache Server Setup (2.2) und versuche, alle Subdomains auf einen bestimmten Kontext in meiner Domäne umzuleiten.Redirect Subdomäne auf Tomcat über Apache-Server mit mod_jk

z.B. umlenken s.example.com zu www.example.com

Apache wird fowarding Anfragen über mod_jk (I versucht mod_proxy, aber die CSS und js nicht als nicht absolut URLs laden).

Meine aktuelle Setup:

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> 

Die Umleitung für ww.example.com wird in eine nicht -stop Umleitungsschleife.

Dies ist aus sicherheitstechnischer Sicht extrem wichtig, da der Benutzer auf den Tomcat-Manager und andere Apps auf dem Server zugreifen kann (namentlich Hudson).

Antwort

1

Versuchen Sie, diese Regel:

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

Und wenn Sie die angeforderten URI behalten möchten:

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

Zusätzlich empfehle ich Ihnen eine 301-Umleitung zu verwenden. Fügen Sie also das R Flag mit dem Wert 301 hinzu, indem Sie [L] durch [L,R=301] ersetzen.

+0

unglaublich einfach. Vielen Dank – RaelG

Verwandte Themen