Ich möchte mod_rewrite in der Datei .htaccess
verwenden, um Ordner in einen var string
umzuschreiben. Nachfolgend finden Sie Beispiele für aktuelle und was ich bevorzugen würde.
example.com/main/folder1/folder2/folder3
example.com/parser.php?var1=folder1&var2=folder2&var3=folder3
Wie kann ich die aktuellen URLs in bevorzugte URLs umschreiben?
Sie können diese drei Umschreiberegeln verwenden, die bis zu drei Verzeichnisebenen verarbeiten:
RewriteEngine on
RewriteRule ^main\/([^\/]+)\/([^\/]+)\/([^\/]+)\/? /parser.php?var1=$1&var2=$2&var3=$3 [L]
RewriteRule ^main\/([^\/]+)\/([^\/]+)\/? /parser.php?var1=$1&var2=$2 [L]
RewriteRule ^main\/([^\/]+)\/? /parser.php?var1=$1 [L]
In diesen regulären Ausdrücken:
^main\/
: beginnt mit "main /"([^\/]+)
: Eine Reihe von Zeichen, die keine Schrägstriche enthalten (in einer Erfassungsgruppe, die mit $1
, $2
oder $3
herausgezogen werden soll)\/?
ein optionaler abschließender Schrägstrich[L]
die letzte Umschreiberegel (damit spätere Umschreiberegeln nicht auch ausgelöst werden)Normalerweise ziehe ich es vor, alle Ordner als einzelne Variable zu übergeben:
RewriteEngine on
RewriteRule ^main\/(.*) /parser.php?folders=$1
dann könnte Ihr PHP -Parser die Ordner im Schrägstrich aufteilen, um die drei gewünschten Variablen zu erhalten.