Heim > Backend-Entwicklung > PHP-Tutorial > Wie kann ich URLs mit GET-Variablen in .htaccess für sauberes Routing umschreiben?

Wie kann ich URLs mit GET-Variablen in .htaccess für sauberes Routing umschreiben?

Linda Hamilton
Freigeben: 2024-11-15 11:34:03
Original
346 Leute haben es durchsucht

How Can I Rewrite URLs with GET Variables in .htaccess for Clean Routing?

URLs mit GET-Variablen in .htaccess umschreiben

Bei Verwendung von PHP für Routingzwecke (z. B. index.php?page=controller), Es ist nützlich, eine sauberere und benutzerfreundlichere URL-Struktur zu haben. .htaccess, eine weit verbreitete Apache-Konfigurationsdatei, bietet eine bequeme Möglichkeit, URLs neu zu schreiben und GET-Variablen zu verarbeiten.

In der gegebenen Situation besteht das Ziel darin, URLs wie http://localhost/controller/ weiterzuleiten index.php?page=controller auf saubere und prägnante Weise. Darüber hinaus müssen URLs mit Parametern wie http://localhost/controller/param/value/param/value unterstützt werden, die mit dem GET auf http://localhost/controller/?param=value¶m=value abgebildet werden sollten Variablen.

Um dies zu erreichen, kann eine einfache, aber effektive Lösung mithilfe einer Rewrite-Regel in der .htaccess-Datei implementiert werden:

RewriteRule ^([\w\d~%.:_\-]+)/(.+)$ index.php?page=&params= [NC, QSA]
Nach dem Login kopieren
  1. Rewrite-Muster: Die RewriteRule beginnt mit dem Muster ^([wd~%.:_-] )/(. )$, das mit jeder URL übereinstimmt, die aus einem Controllernamen gefolgt von einem Schrägstrich und allen zusätzlichen, durch Schrägstriche getrennten Parametern besteht.
  2. Ziel-URL: Die Ziel-URL ist index.php?page=$1¶ms=$2. Hier stellt $1 den Controller-Namen und $2 die gesamte Parameterzeichenfolge dar.
  3. Flags umschreiben: Das NC-Flag (No Case) gewährleistet eine Übereinstimmung ohne Berücksichtigung der Groß-/Kleinschreibung, während das QSA-Flag (Query String Append) verkettet den vorhandenen GET-String mit den Parametern aus der Rewrite-Regel.

Mit dieser Regel wird eine URL wie http://localhost/controller/param/value/param/value verwendet in index.php?page=controller¶ms=param/value/param/value umgeschrieben werden. Dies bietet eine saubere und einfache Möglichkeit, GET-Parameter zu verwalten und die ursprüngliche URL-Struktur beizubehalten.

Um auf diese Parameter in Ihrem PHP-Code zuzugreifen, können Sie $_GET['params'] verwenden, das die Parameterzeichenfolge enthält. Sie können es dann mit einem Trennzeichen (z. B. /) aufteilen und auf einzelne Parameterwerte zugreifen.

Das obige ist der detaillierte Inhalt vonWie kann ich URLs mit GET-Variablen in .htaccess für sauberes Routing umschreiben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage