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)。

相关内容