如果我的网址和查询字符串匹配,我想重定向页面我尝试了很多但没有成功,请你告诉我我哪里做错了。
我的网址是
http://xxx.xxx.xxx.xx/search/videos?search_query=xxx+xxx
我想重定向(使用.htaccess重写)到
http://xxx.xxx.xxx.xx/search/videos/xxx+xxx
我试过了
RewriteCond %{QUERY_STRING} ^search_query=([A-Za-z0-9]*)$
RewriteRule ^search/videos$ search/videos/$1 [R=301,L]
RewriteCond %{QUERY_STRING} "search_query=" [NC]
RewriteRule ^(.*)$ search/videos/$1? [L,QSA]
RewriteCond %{QUERY_STRING} ^search_query=$1 [NC]
RewriteRule ^(.*)$ search/videos/$1? [L,QSA]
我做错了什么?
答案 0 :(得分:0)
您可以使用以下规则
RewriteEngine on
#terminate the 2nd rewrite iteration
RewriteCond %{ENV:REDIRECT_STATUS} 200
RewriteRule ^ - [L]
# redirect "/search/videos?search_query?foobar" to "/search/videos/foobar"
RewriteCond %{QUERY_STRING} ^search_query=(.+)$
RewriteRule ^search/videos$ /search/videos/%1? [R=301,L]
#internally map "/search/videos/foobar" to "/search/videos?search_query?foobar"
RewriteRule ^search/videos/([^/]+)/?$ /search/videos/?search_query=$1 [NC,L]