
次のロジックに従って、次の URL をリダイレクトしたいと思います。
Input : https://www.example.com/blablabla,?trx_id=TX-23
Output : https://www.example.com/blablabla,TX-23
ルールは常に文字列を削除することです:?trx_id=
以下を試してみましたが、うまくいきませんでした。特殊文字に関連しているようです
RewriteRule ^(.+)?trx_id=(.+)$ $1$2 [R=301,L]
誰か助けてくれませんか?ありがとう
答え1
代わりに次のことを試してください。
RewriteCond %{QUERY_STRING} ^trx_id=([^&]*)
RewriteRule (.*) /$1%1 [QSD,R,L]
のRewriteRule
パターンURLパスのみに一致します。クエリ文字列に一致させるには、状態サーバー変数と照合しますQUERY_STRING
。
%1
(とは対照的に$1
)は、前の条件パターン(つまり、URL パラメータの値trx_id
)。