htaccess : 文字列を特殊文字に置き換えるにはどうすればいいですか?

htaccess : 文字列を特殊文字に置き換えるにはどうすればいいですか?

次のロジックに従って、次の 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)。

関連情報