替换-在htaccess中用+查询字符串签名

时间:2018-11-22 15:20:06

标签: .htaccess

我已尽力而为,但仅能奏效,我想替换一下-以+在类别中使用特定的查询字符串来唱歌。

我要替换

https://www.example.com/stack/?s=over-flow

https://www.example.com/stack/?s=over+flow

我已经尝试了以下代码

RewriteCond %{QUERY_STRING} ^(.+)-(.+)$
RewriteRule ^(.*)$ /$1?%1+%2 [L,R=301,NE]

它可以工作,但是它破坏了我网站的其他部分,其中包含-登录网址

我只希望在 / stack /?s = 上使用它

请帮帮我,谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用此规则仅使用单个参数来定位特定的查询字符串:

RewriteCond %{QUERY_STRING} ^(s=[^&-]+)-([^&]+)$ [NC]
RewriteRule ^(stack/?)$ /$1?%1+%2 [L,R=301,NE]