Meine URL ist:
http://www.domain.com/Seattle_WA_math
Es muss zeigen auf:
http://www.domain.com/list.php?city=Seattle&state=WA&s=math
Hier, was ich bisher habe, funktioniert nicht ...
RewriteRule ^[A-Za-z_-]+_[A-Z]{2}_[A-Za-z0-9_-()]+/$ list.php?city=$1&state=$2&$s=$3 [L]
Antworten:
0 für die Antwort № 1Dies sollte es tun:
RewriteRule ^([A-Za-z-]+(?:_[A-Za-z-]+)*)_([A-Z]{2})_([A-Za-z0-9_-()]+)/?$ list.php?city=$1&state=$2&$s=$3 [L]
Erlaubt mehrere formulierte Städte und Themen und optional Trailing /
Pfad.
0 für die Antwort № 2
Ich schreibe dies im laufenden Betrieb, aber es sollte funktionieren.
RewriteRule ^ ([a-zA-Z -] +)([A-Z] {2})([a-zA-Z0-9 _-] +) $ list.php? city = $ 1 & state = $ 2 & s = $ 3
Die () bezeichnen die $ # Variablen im Endteil, so dass alles, was passt, übereinstimmen sollte.
0 für die Antwort № 3
Probieren Sie dies in Ihrer .htaccess-Datei aus:
RewriteEngine on
Options +FollowSymlinks -MultiViews
RewriteRule ^([A-Za-z-]+(?:_[A-Za-z-]+)*)_([A-Z]{2})_([A-Za-z0-9_-]+)/?$ /list.php?city=$1&state=$2&s=$3 [R,L,QSA,NE]
R=301
wird mit https status 301 umgeleitet
L
wird die letzte Regel machen
NE
ist für keine ausgehende Abfragezeichenfolge
QSA
wird Ihre vorhandenen Abfrageparameter anhängen
$1
, $2
und $3
sind Gruppen in Ihrer REQUEST_URI