Hallo zusammen,
gleich zum Problem. In einem VirtualHost setze ich mittels SetEnvIf eine zusätzliche Environment Variable. Diese nutze ich später in RewriteRules via mod_rewrite.
Code: Select all
Beispiel 1)
SetEnvIf Host ^de. PORTAL_LANG=de
SetEnvIf Host ^en. PORTAL_LANG=en
RewriteEngine On
RewriteRule ^/(.*)$ /portal/%{ENV:PORTAL_LANG}/$1 [QSA,L]
Beispiel 2)
SetEnv PORTAL_LANG de
RewriteEngine On
RewriteRule ^/(.*)$ /portal/%{ENV:PORTAL_LANG}/$1 [QSA,L]
Das oben genannte Beispiel (1) funktioniert einwandfrei. Setze die Environment Variable allerdings nicht via
SetEnvIf, sondern via
SetEnv direkt wie in Beispiel (2), funktioniert es nicht mehr. Die Environment Variable ist mod_rewrite dann anscheinend unbekannt. Das Ergebnis ist ein Error 404. Ein Eintrag im Error Log lautet dann "[error] [client xxx.xxx.xxx.xxx] File does not exist: /home/www/example/portal". Der eigentlich zu suchenende Pfad wird also entgegen normalen Fehlermeldungen dieser Art nicht vollständig angezeigt.
Hat jemand hierzu eine Idee? Vorab vielen Dank für Eure Hinweise!
Beste Grüße,
Markus