重写要追加的规则



我目前正在制定"重写规则",需要将某些文本附加到重定向的URL中。

我想在浏览器中键入的URL是

http://testwebsite.com/search/?q=SEARCH_STRING

我想把这个重定向到

http://testwebsite.com/search/SEARCH_STRING/

基本上,SEARCH_STRING需要从?=前面获取并放在/搜索/之后

我目前的规则出现故障:

RewriteRule ^.*/search/?q=(.*) /#!/search/$1/ [R=301,L,NC,NE]

知道我该怎么解决吗?

您需要在RewriteCond中捕获查询字符串,它不是RewriteRule与隐式匹配的字符串的一部分

RewriteCond %{QUERY_STRING} ^q=(.+)
RewriteRule ^/search/$ /search/%1? [R=301,L,NC,NE]

拖尾?删除现有的查询字符串。

最新更新