
我想根據以下邏輯重定向以下 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
)。