Wie kann ich mod_rewrite verwenden Sie den Pfad und Dateinamen einer URL zu ändern

StackOverflow https://stackoverflow.com/questions/105308

  •  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!

War es hilfreich?

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

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top