
Ich möchte die folgende URL nach folgender Logik umleiten:
Input : https://www.example.com/blablabla,?trx_id=TX-23
Output : https://www.example.com/blablabla,TX-23
Die Regel lautet, immer die Zeichenfolge zu entfernen:?trx_id=
Ich habe Folgendes versucht, aber es funktioniert nicht. Es scheint, als ob es mit Sonderzeichen zusammenhängt
RewriteRule ^(.+)?trx_id=(.+)$ $1$2 [R=301,L]
Kann mir bitte jemand helfen? Danke
Antwort1
Versuchen Sie stattdessen Folgendes:
RewriteCond %{QUERY_STRING} ^trx_id=([^&]*)
RewriteRule (.*) /$1%1 [QSD,R,L]
DerRewriteRule
Musterstimmt nur mit dem URL-Pfad überein. Um die Abfragezeichenfolge abzugleichen, benötigen Sie eineZustanddas anhand der QUERY_STRING
Servervariable überprüft wird.
%1
(im Gegensatz zu $1
) ist eine Rückreferenz auf das vorhergehendeBedingungsmuster(d. h. der Wert des trx_id
URL-Parameters).