2014-04-16 31 views
0

我正在使用Rack Rewrite從兩個網站進行一些301重定向。這是創業板rack rewrite和文檔有這個例子:重寫規則不起作用:是regoluar表達式還是其他語言?

rewrite %r{/wiki/John_Trupiano(\?.*)?}, '/john$1' 

我嘗試使用正則表達式來寫我的重定向:

r301  %r{/(?<=prodotti\/)?.*(?=\/)/},  '/prodotti/$1' 

但就是不起作用。

基本上我有一些網址/prodotti/1996/HTC-One-M8.html,我需要一個301重定向到/prodotti/1996

更新

在我的網站我也有喜歡

/prodotti/latest/prodotti/1996一些其他路線,/prodotti/all

我需要的東西匹配的兩個ID之間//只有我F中的源是這樣/prodotti/1996/HTC-One-M8.html

我的正則表達式的工作原理:/(?<=prodotti\/)?.*(?=\/)/但創業板要求我的查詢字符串存儲在一個捕獲組(通過(*)?),並且使用$1

回答

0

下面的正則表達式會做:

\/prodotti\/([^\/]*)

演示:http://regex101.com/r/tF9oZ0

+0

我不能用這個,我在/ PRODOTTI其他頁/ .... 我需要匹配ID之間的/ /和追加ID prodotti/ –

+0

@RobertoPezzali,如果我正確理解你,那麼這將做到這一點。但是,如果這不是你的意思,你可以請新問題更新你的問題,然後讓我知道。 – sshashank124

+0

現在更新了,我希望現在這個問題更加清楚。 –