leider habe ich weder hier im Forum noch bei Google eine Hilfe / HowTo für mein Problem gefunden.
Ich habe:
- Windows 2003 Standartserver
- Apache 2.2.4
- Tomcat 5.5.20
- jdk / jre 1.6.0_02
Beim Apache läuft ohne Probs das mod_ssl und ich kann einem v_host den kompletten Tomcat mounten (mod_jk).
Nun zu meinem Problem.
Auf dem Tomcat laufen derzeit drei unabhängige Applikationen, welche u.a. mit dem Strus Framework realisiert worden sind. Um nun so cryptische URLs, wie
http://vhost1.domain.de/app1/content/html/view.jsp?pressenachricht=178
in ansprechende URLs, wie
http://vhost1.domain.de/app1/pressenachricht?news=178
umzu modellieren wollte ich mich dem mod_rewrite bedienen.
Gesagt, getan: Bei einem einfachem Beispiel mit einer normalen html - Datei im Document-Verzeichnis eines v_hosts des Apaches klappte es auch einwandfrei.
- Code: Select all
httd-vhosts.conf:
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin mail@domain.de
DocumentRoot "c:/HTML-Root/vhost1.domain.de"
ServerName vhost1.domain.de
ErrorLog c:/Apache2.2/logs/vhost1.domain.de_error.log
CustomLog c:/Apache2.2/logs/vhost1.domain.de_access.log common
RewriteEngine on
RewriteRule ^/pressenachrichten$ /news.htm
JkMount /* app_jk1
JkMount /servlet/* app_jk1
</VirtualHost>
<VirtualHost *:80>
ServerAdmin mail@domain.de
DocumentRoot "c:/HTML-Root/vhost2.domain.de"
ServerName vhost2.domain.de
ErrorLog c:/Apache2.2/logs/vhost2.domain.de_error.log
CustomLog c:/Apache2.2/logs/vhost2.domain.de_access.log common
RewriteEngine on
RewriteRule ^/pressenachrichten$ /news.htm
</VirtualHost>
Hierbei konnte ich durch aufrufen der URL http://vhost2.domain.de/pressenachrichten die Datei [Document-VZ]\vhost2\news.htm im Internetbrowser aufrufen.
Trage ich diesen Rewrite-Tag nun aber bei den V_hosts, die den Tomcat per mod_jk mounten ein, passiert nichts. Es wird mir lediglich in der Tomcat-Console (und in log4j) folgender Fehler angezeigt:
http://vhost2.domain.de/pressenachrichten erzeugt:
- Code: Select all
log4j:
2007-09-27 01:07:22,264 ERROR [TP-Processor11] org.apache.struts.action.RequestProcessor: Invalid path was requested /pressenachrichten
default_vhost_access.log:
84.61.xx.xx - - [27/Sep/2007:01:07:22 +0200] "GET /pressenachrichten HTTP/1.1" 404 1927
Scheinbar hat das Rewrite-Modul seine Arbeit noch nicht gemacht, bevor die Anfrage an den Tomcat weitergeleitet wird.
Hat jmd von euch eine Ahnung / Vermutung, warum der Apache mir die URL nicht entschlüsselt -> zum Tomcat forwarded, den Content entgegen nimmt -> URL verschlüsselt -> alles zum Client sendet?
Gruß
Chris