Apache/mod_rewrite, Environment Variable in RewriteRule
Posted: 2008-01-25 20:33
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.
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
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]Hat jemand hierzu eine Idee? Vorab vielen Dank für Eure Hinweise!
Beste Grüße,
Markus