.htaccess - 从 URL 中删除一个查询参数

Cra*_*aig 5 apache parameters .htaccess redirect stage

我有一个看起来像这样的 URL:

https://www.example.com/about-us?stage=Stage&utm_source=abc&utm_medium=xyz
Run Code Online (Sandbox Code Playgroud)

我想删除 stage=Stage 部分。

我尝试了下面的代码:

RewriteCond %{QUERY_STRING} ^stage=Stage$
RewriteRule (.*) $Stage? [R=permanent]
Run Code Online (Sandbox Code Playgroud)

但它似乎只有在 URL 为以下情况时才有效:

https://www.example.com/about-us?stage=Stage
Run Code Online (Sandbox Code Playgroud)

没有其余参数。

如何让除了 stage=Stage 参数之外的其他参数传递?

anu*_*ava 3

您可以在 .htaccess 顶部使用此规则:

RewriteCond %{QUERY_STRING} ^(.*&)?stage=Stage(?:&(.*))?$ [NC]
RewriteRule ^ %{REQUEST_URI}?%1%2 [L,R=301,NE]
Run Code Online (Sandbox Code Playgroud)