Wie kann ich mod_rewrite verwenden Sie den Pfad und Dateinamen einer URL zu ändern
-
01-07-2019 - |
Frage
Ich möchte die URL nehmen: http://www.mydomain.com/signup-12345
Und tatsächlich gibt ihnen: http://www.mydomain.com/signup/?aff=12345
Ich habe keine Geschichte mit mod_rewrite, Hilfe!
Lösung
Etwas, das ich relativ schwer zu finden, um herauszufinden, war, wie das Gegenteil von dem zu tun, was Sie tun, wobei Sie den Wert eines Teils des Abfrage-String herausfinden müssen.
So zum Beispiel:
Wenn Sie die URL neu schreiben wollen: http://www.example.com/signup- alt - Skript. asp ? aff = 12345
zu: http://www.example.com/signup- neue - Skript. pHP ? affID = 12345
Sie können verwendet werden:
RewriteCond %{query_string}& ^aff=((.+&)|&)$
RewriteRule ^/signup-old-script.asp$ /signup-new-script.php?affID=%2 [L,R]
Beachten Sie die % Zeichen in der Rewrite-Regel anstelle der $ Zeichen.
Ich hatte dies zu tun, damit ich alte Flash-Karten in einem neuen Standort unterstützen, die in dem Query-String mit einem ID-Links zu „.cfm“ -Dateien hatten.
Andere Tipps
Versuchen Sie folgendes:
RewriteRule ^ / Anmeldungen - (\ d +) / $ / Anmeldungen / aff = $ 1 [I]
?Wie weit ich weiß,
Flag bewirkt, dass die RewriteCond ignoriert werden -. Für "Ignore case" - von IsapiRewrite
Version 2