Ich suche nach Hilfe, um zu verstehen, wie eine bestimmte .htaccess-Datei funktioniert.Understanding .htaccess Datei
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [L,QSA]
Hier ist, was ich glaube, ich verstehe so weit:
Zeile 1: erlauben Apache Urls auf bestimmte Regeln basierend zu ändern?
Zeile 2,3: Etwas über den Zugriff auf Dateien und Verzeichnisse. Mein Browser hat jedoch keine Probleme mit dem Zugriff auf http://localhost/dev/can_i/yes_i_can.php
, daher glaube ich nicht, dass ich das richtig verstehe.
Zeile 4: Ich bekomme, dass ^(.*)$
ist ein regulärer Ausdruck sagt "Anfang und Ende mit allem" aber was genau bezieht sich darauf? die ganze URL? Dann wird es durch index.php mit dem angehängten Ausdruck ersetzt. Also warum bekommen wir keine Dinge wie localhost/index.php?url=localhost/index.php/whatever_came_after
? Was macht schließlich [L, QSA]? Ich weiß QSA bedeutet "Abfrage String append", aber nicht sicher, wie es funktioniert.
Jede Hilfe sehr geschätzt.