我目前正在制作重写规则,我需要在重定向的网址中附加某些文字。
我要在浏览器中输入的网址是
http://testwebsite.com/search/?q=SEARCH_STRING
我希望将其重定向到
http://testwebsite.com/search/SEARCH_STRING/
基本上SEARCH_STRING需要从?=的前面取出并放在/ search /
之后我目前的规则是出现故障:
RewriteRule ^.*\/search\/\?q=(.*) /#!/search/$1/ [R=301,L,NC,NE]
知道如何解决这个问题吗?
答案 0 :(得分:0)
您需要在RewriteCond中捕获查询字符串,它不是您的RewriteRule隐式匹配的字符串的一部分
RewriteCond %{QUERY_STRING} ^q=(.+)
RewriteRule ^/search/$ /search/%1? [R=301,L,NC,NE]
尾随?删除现有的查询字符串。