2013-01-06 73 views
0

我有這個網址,並在最後可選PARAMS:htaccess的REG EXP使用參數

http://domain.local/?_escaped_fragment_=watch/1/10/test/optionalparams/optionalparams/optionalparams/optionalparams.. 

,我想它重定向到

http://domain.local/videos/watch/test?id=10 

我嘗試了很多的htaccess重寫規則和conds但它不是在所有工作.. 這是我的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] 

它的工作像我想要! 但如果我嘗試的URL與任何東西后,像這樣的

?_escaped_fragment_=watch/1/10/title/param/param/param 

它不工作... 我試過這個REG前用不同的COND

RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)/(.*)/(.*)/(.*)(/(.*)?)$ 
RewriteRule ^(.*) /videos/%1/%4?id=%3 [NC,R=301] 

我不/稱號不明白爲什麼它不工作..有人可以幫助我嗎?謝謝 !

+0

¿什麼是你想要將網址映射固定部分。 '_escaped_fragment_',也許?映射規則必須針對傳入的URL模式,這是什麼模式? –

+0

如果url包含「_escaped_fragment_」參數(用於重定向Google ajax搜尋器),我想重定向。在我的網址中,只需要指定四個第一個參數,其他參數可以設置,但它們是optionnals。 –

回答

1

好吧,我找到了解決辦法:

RewriteCond %{QUERY_STRING} ^_escaped_fragment_=/([a-zA-Z0-9\-]+)/([0-9]+)/([0-9]+)/([a-zA-Z0-9\-]+) 
RewriteRule ^(.*) /videos/%1/%4/?id=%3&page=%2 [NC,R=301]