Der Martin: Parameter geht bei Weiterleitung verloren

Beitrag lesen

Mahlzeit,

vielen Dank für Deine ausführliche Rückmeldung. Leider verstehe ich die nachfolgenden Zeilen nicht so richtig, ...

das ist nicht schlimm, dagegen können wir etwas tun. Aber bitte tu allen Lesern den Gefallen, Code-Blöcke auch als solche zu markieren (Button </> oberhalb des Textfeldes), sonst entsteht ein Fließtext-Matsch daraus.

RewriteEngine on 
RewriteCond %{SERVER_NAME} ^www\. 
RewriteRule .* http://fotoadvent.de%{REQUEST_URI} [R]

Zunächst wird mit RewriteEingine on der Apache so konfiguriert, dass eine Umleitung überhaupt erst möglich ist.

Ja.

Im nächsten Schritt wird mit Hilfe von RewriteCond eine Bedingung festgelegt die eintreffen muss, damit die nächste Zeile (RewriteRule) überhaupt ausgeführt wird. Mit ^www. ist wohl gemeint, dass immer dann, wenn eine Zeite mit www. beginnt die Bedingung erfüllt ist.

Ja. "Zeile" ist in diesem Fall der Hostname des Servers, der vom Browser angesprochen wird.

Hier verstehe ich nicht was das %{SERVER_NAME} zu bedeuten hat.

Diese Systemvariable enthält den Host- oder Servernamen, wie er vom Client kam (also z.B. "www.example.com").

Des Weitern habe ich gelesen, das RewriteCond zwei Argument hat, ich frage mich wo hier das erste Argument ist und so das zweite Argument?

Das erste Argument ist %{SERVER_NAME}, der Ausdruck, der untersucht werden soll; das zweite ist hier ^www., also ein regulärer Ausdruck, der auf das erste Argument passen soll, damit die Bedingung erfüllt ist.

In der letzten Zeile wird schließlich die eigentliche Umleitung in die Wege geleitet. RewriteRule hat hierbei zwei Argumente.

Eigentlich sogar drei, wenn du die Flags mitzählst.

Das erste Argument stellt die URL dar die der Nutzer eingibt, das zweite Argument stellt die URL dar auf welche umgeleitet wird. Ich frage mich was in der dritten Zeile das erste Argument ist und welches das zweite Argument ist?

Erstes Argument: .* (Regex für "ein beliebiges Zeichen, und das beliebig oft)
Zweites Argument: http://fotoadvent.de%{REQUEST_URI} (Zieladresse der Weiterleitung)
Drittes Argument: [R] (Redirect-Flag: nicht intern umleiten, sondern sichtbar)

Des Weiteren verstehe ich nicht was dieses % zu bedeuten hat?

Das ist die Apache-Notation für eine interne %{Systemvariable}.

So long,
 Martin