Manfred Tremmel schrieb:
Verständnisfrage: Mit JKMount leite ich requests an den httpd an Tomcat weiter. So weit klar. Wie kommt da mod_rewrite ins Spiel ? Werden mit rewrite requests im httpd umgelenkt, die dann anschließend per JKMount an Tomcat weiter geleitet werden ? Also erst mod_rewrite, dann mod_jk ?
Ja, so ist es. Im gennanten Beispiel von RiPhone ist das WebProjekt eigentlich über domain.tld/riphone/* anzusprechen. Die ganzen HTML und JavaScript Dateien sind darauf ausgerichtet. Da ich aber eben nicht vorhabe die statischen Inhalte via Tomcat auszuliefern, sondern via Apache, darf ich eben nicht via "JkMount /riphone/* ajp13" alles an den Tomcat übergeben, sondern eben nur die Servletaufrufe. Die biege ich mit der RewriteRule eben von /riphone/* auf /servlet/* um und binde nur dieses via JkMount um. Und ja, mod_rewrite wird anscheinend vor mod_jk ausgeführt, andernfalls würde die Sache nicht funktionieren.
Muss ich da irgendwas besonderes beachten, daß diese Reihenfolge beibehalten wird ?
Ich habe nichts spezielles unternommen.
Mein Szenario: ein vhost pro Applikation, Hostname wäre was Sinngebendes wie applikation.domain.tld. In der conf dieses vhosts würde ich requests an / z.B. auf /webappliaktion umleiten (per rewrite). /webapplikation würde ich dann per JKMount an Tomcat weiter geben. Geht das so ?
Der einfachste Fall mit kompletter Weiterleitung an Tomcat sollte in dem Fall wohl sein:
1. JkMount in der vhost Konfiguration des Apache via
JkMount /webapplikation/* ajp13
2. ModRewrite einbinden (falls noch nicht geschehen)
In /etc/sysconfig/apache2 den Eintrag APACHE_MODULES= um rewrite ergänzen.
3. Die .htaccess Datei anlegen/erweitern um:
RewriteEngine On RewriteBase / RewriteRule $ /webapplikation/xyz RewriteRule ;jsessionid\=(.*)$ /webapplikation/xyz;jsessionid=$1 RewriteRule ?JServSessionIdroot\=(.*)$ /webapplikation/xyz?JServSessionIdroot=$1 RewriteRule index\.html$ /webapplikation/xyz RewriteRule index\.html;jsessionid\=(.*)$ /webapplikation/xyz;jsessionid=$1 RewriteRule index\.html?JServSessionIdroot\=(.*)$ /webapplikation/xyz?JServSessionIdroot=$1
Damit landest Du dann mit http://domain.tld/webapplikation/xyz
Hallo, Vielen Dank schon 'mal. Fragen: Zu 3: kann ich das auch in der conf eines vhosts machen oder brauche ich .htaccess ? Was macht "RewriteRule $ /webapplikation/xyz" ? Mod_rewrite arbeitet mit RegExp, oder ? Der $ steht da normalerweise für Zeilenende, aber hier versteh ich das nicht so ganz. Oder steht $ für einen request auf /, da nach dem / ja das Zeilenende kommt ? Würde mit dem von Dir beschriebenen Szenario folgendes funktionieren ? Request auf webapplikation.domain.tld ==> Umleiten per rewrite auf /webapplikation ==> Weiterleiten per mod_jk an tomcat auf /webapplikation ? Bernd Helmholtz Zentrum München Deutsches Forschungszentrum für Gesundheit und Umwelt (GmbH) Ingolstädter Landstr. 1 85764 Neuherberg www.helmholtz-muenchen.de Aufsichtsratsvorsitzende: MinDir´in Bärbel Brumme-Bothe Geschäftsführer: Prof. Dr. Günther Wess und Dr. Nikolaus Blum Registergericht: Amtsgericht München HRB 6466 USt-IdNr: DE 129521671 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org