私は最後にオプションのパラメータを持つこのURLを持っています:
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]
誰かが私が解決策を見つけるのを手伝ってくれますか..:)
前もって感謝します !
より多くの精度を編集します:
このURLを試してみると:
?_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
それは機能していません...私は別の条件でこの正規表現を試しました
RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)/(.*)/(.*)/(.*)(/(.*)?)$
RewriteRule ^(.*) /videos/%1/%4?id=%3 [NC,R=301]
なぜ機能しないのかわかりません。誰か助けてもらえますか?ありがとう !