Droska, Hans-Peter wrote:
Robert wrote:
Es sind leider alles Processings auf der Stufe initial:

Das ist dann nicht verursacht vom Alias, sondern von RedirectMatch.

Redirect und Alias passt aber nicht zusammen. Ein Alias ist ein anderer uri-to-filename translator und bei einem externen Redirect soll ja grade ein Redirect stattfinden und eben kein Mapping auf das Dateisystem.

Das Verstehe ich nicht so ganz. Ich kann doch einen Redirect auf einen Alias
machen!?

(Du hattest vorher geschrieben, dass du jetzt auch das R-Flag hinzugefügt hast.) Sicher, aber das PT-Flag besagt, dass durch ein anderes Modul eine weitere uri-to-filename translation stattfindet. Es ist völlig egal, wohin du den Redirect sendest, zu diesem Zeitpunkt "schickst" du jedoch nichts zu mod_alias bzw. mod_alias (Direktiven Alias, ScriptAlias) sollen hier nichts machen. Der Request soll ja eben nicht auf das Dateisystem gemapped werden, sondern es soll ein Redirect (durch mod_rewrite) gesendet werden. Solange immer ein Redirect gesendet werden soll, wird mod_alias nicht aktiv. Wenn der Browser durch den (externen) Redirect den Location-Header erhält, wird von diesem ein komplett neuer (rfc wiedrig [1]) GET-Request gestartet.

Abgesehen davon wird im diesem Redirect bei mir ja nur für den Aufruf der
Haupt-URL ausgeführt und leitet nur auf den rewrite um:
RedirectMatch permanent ^/$ /en/

Du könntest dir hier auch einen Konflikt (Schleife) zw. mod_alias (Direktive RedirectMatch) und mod_rewrite gebaut haben.

Es findet also kein Redirect auf ein Alias statt.

Vorhin hattest du noch geschrieben
| Denn ich habe auch noch das Flag R hinzu gefügt

und das R-Flag gibt es nur bei mod_rewrite. Ein [R,PT,L] macht also eigentlich wenig Sinn. Entweder [R,L] oder [PT,L], so meinte ich das.


Abhilfe schafft hier aber der Redirect auf eine entsprechende Unterseite
z.B.:
RedirectMatch permanent ^/$ /en/index.php
So versucht rewrite nicht auf "/?lang=en" zu zugreifen (womit sich dann der
Redirect wieder angesprochen fühlt) sondern auf "/index.php?lang=en".

Genau das ist der Konflikt zw. beiden Modulen, den ich oben meinte

Du kannst übrigens auch in der Substitution direkt den Request auf den vollen physischen Pfad lenken:

RewriteRule  ^/en/(.*) /srv/test/$1?lang=en [QSA,L]

[1] OT:
rfc wiedrig deshalb, weil wenn der Ursprungsrequest POST war und dann der Location-Header in der HTTP-Resoponse gesendet wird, starten die Browser automatisch einen GET-Request. Gem. rfc darf der Browser das aber nicht einfach automatisch machen, sofern die request-method nicht GET oder HEAD war.

--
Robert

--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de" unsubscribe-Anfragen an [EMAIL PROTECTED]
          sonstige Anfragen an [EMAIL PROTECTED]
--------------------------------------------------------------------------

Antwort per Email an