我有这个带有可选参数的网址:
http://domain.local/?_escaped_fragment_=watch/1/10/test/optionalparams/optionalparams/optionalparams/optionalparams..
我想将它重定向到
http://domain.local/videos/watch/test?id=10
我尝试了很多 htaccess 重写规则和条件,但它根本不起作用.. 这是我的 htaccess :
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)/(.*)/(.*)/(.*)(/(.*)?)$
RewriteRule ^(.*) /videos/%1/%4?id=%3 [NC,R=301]
有人可以帮我找到解决方案.. :)
提前致谢 !
编辑更多精度:
当我尝试这个网址时:
?_escaped_fragment_=watch/1/10/title
使用此重写规则
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)/(.*)/(.*)/(.*)$
RewriteRule ^(.*) /videos/%1/%4?id=%3 [NC,R=301]
它就像我想要的那样工作!但是,如果我在 /title 之后尝试这样的 url
?_escaped_fragment_=watch/1/10/title/param/param/param
它不起作用......我已经尝试过使用不同的条件来使用这个 reg ex
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)/(.*)/(.*)/(.*)(/(.*)?)$
RewriteRule ^(.*) /videos/%1/%4?id=%3 [NC,R=301]
我不明白为什么它不起作用..有人可以帮助我吗?谢谢 !