mod-rewrite
Grundlegende interne Überarbeitungen
Suche…
Phantasie URL zum PHP-Skript
In diesem Beispiel schreiben wir URLs der Form http://example.com/topic/id-seoname
in ein PHP-Skript um, das eine ID als Eingabe verwendet. In diesem Beispiel wird davon ausgegangen, dass sich die Regel im Kontext "pro Verzeichnis" befindet .
RewriteEngine on
RewriteRule ^topic/([0-9]+)-[^/]*/?$ /topics.php?id=$1 [L]
In diesem Beispiel ist topic/
das gemeinsame Präfix aller Themen. Es folgt eine Nummer, die vom Skript verwendet wird. Zuletzt wird der SEO-Name angezeigt. Dieser Name wird von mod_rewrite ignoriert, da er nur aus verschiedenen Gründen vorhanden ist. Das zweite Argument von RewriteRule
enthält die URL, in die geschrieben werden soll. Der Platzhalter $1
wird durch den Inhalt der ersten Erfassungsgruppe in der Regex vor diesem ersetzt. In diesem Fall wird es durch das ersetzt, was mit ([0-9]+)
übereinstimmt.
URL mit Abfragezeichenfolge an das PHP-Skript
Um eine RewriteRule
, muss eine Bedingung zur RewriteRule
hinzugefügt werden. Dies geschieht, indem RewriteCond
Direktiven vor die entsprechende Regel gestellt werden. Im folgenden Beispiel schreiben wir eine alte URL dynamisch in eine neue URL.
RewriteCond %{QUERY_STRING} ^name=([^&]*)$
RewriteRule ^oldscript\.php$ newscript.php?username=%1 [L]
Bitte beachten Sie, dass wir den wörtlichen Punkt anpassen müssen, indem Sie ihn mit einem Schrägstrich markieren. %1
wird durch die erste Erfassungsgruppe der vorherigen Bedingung ersetzt. In diesem Fall wird es durch ([^&]*)
.