我有这个重写
#RewriteCond %{THE_REQUEST} \ /+catalogsearch/result/\?q=([^&\ ]+)
#RewriteRule ^ /q/%1? [L,NE,R=301]
#RewriteRule ^q/(.*)$ /catalogsearch/result/?q=$1 [L,NE,QSA]
www.mysite.com/catalogsearch/result/?q=
但现在我改变了我的搜索方法 我的网址是
www.mysite.com/catalogsearch/result/?cat=&q=
如何更改我的重写?提前致谢
答案 0 :(得分:0)
再次感谢http://htaccess.madewithlove.be,并提出你可以使用QUERY_STRING
作为重写条件:
RewriteCond %{QUERY_STRING} q=(.*)
RewriteRule ^ /q/%1? [L,NE,R=301]
RewriteRule ^q/(.*)$ /catalogsearch/result/?q=$1 [L,NE,QSA]
结果:
RewriteCond %{QUERY_STRING} q=(.*) This condition was met
RewriteRule ^ /q/%1? [L,NE,R=301] This rule was met, the new url is:
http://www.example.com/q/something&cat=123