Hallo Suit,
RewriteCond %{HTTP_HOST} ^example.com$ [NC]
RewriteCond %{HTTP_HOST} !^$
(nur am Rande, da es zum eigentlichen Problem nichts zur Sache tut, aber dennoch lustig ist) diese Angaben sind 'etwas' seltsam. Der Ausdruck !^$ schließt ^example.com$ ein. !^$ wird nur in dem Fall nicht greifen, wenn der Client dem Server keinen Host-Header sendet, was im Falle einer gewöhnlichen Anfrage an einen Server RFC-widrig wäre und seinerseits vom Server, ohne dass die Kondition greift, mit einem Status 400 beantwortet werden würde.
RewriteCond %{QUERY_STRING} !(?|&)?L= [NC]
RewriteRule ^/?$ http://example.com/index.var [L]
Diese Regel erzeugt eine _externe_ Weiterleitung.
Wenn ich jetzt [L] durch [PT] ersetze, erhalte ich 400 Bad Request - irgend ein Tipp, was ich übersehen haben könnte bzw. wo ich weitersuchen kann?
PT (passthrough) nimmt _interne_ Veränderungen an der Request-Tabelle vor und bereitet so den Request für andere Module oder CGI-Anwendungen auf. Die Beschreibung spricht hier (für die Beschreibung mod_rewrites beispielhaft typisch) schleierhaft von 'mod_alias and mod_rewrite'. In wieweit mod_negotiation befähigt ist, auf interne Änderungen des Requests überhaupt zu reagieren, also RewriteRule ^/?$ /index.var [PT] würde genutzt werden, kann ich aus dem Stegreif nicht beantworten. Auch ist mir nicht klar, an welcher Stelle genau mit 400 geantwortet wird. Ist es bereits mod_rewrite oder mod_negotiation?
Gruß aus Berlin!
eddi
Könnte bitte jemand mal langsam dafür sorgen, dass da draußen nicht dauernd die Filmrolle "Planet der Affen" abgedudelt wird? Danke!