2010-03-31 101 views
0

我使用下面的代碼嘗試重定向動態URL到一個新的動態URL,同一個域下:的.htaccess重定向動態URL

RewriteRule ^products/item/^\d([^/]+) /product/$1/ [R=301,L] 

我已經試過這太:

RewriteRule ^products/item/[^\d]([^/]+) /product/$1/ [R=301,L] 
RewriteRule ^products/item/[0-9]([^/]+) /product/$1/ [R=301,L] 

但是,這是重定向/products/item/342//product/42/,我測試這在更大的數量(例如123456789),並將其重定向到/product/23456789/

這似乎是我的規則沒有拿起第一位數字,任何人都可以幫我解決這個問題嗎?

我也試過使用[\d]安裝了[0-9],但是這有同樣的問題。

乾杯!

回答

3

嘗試

RewriteRule ^products/item/(\d[^/]+) /product/$1/ [R=301,L] 
+0

天才!這就是了;),非常感謝您的回答! – 2010-03-31 08:57:55

+0

這是導致問題的正則表達式中的組。 $ 1將匹配括號內的所有內容。 – yogsototh 2010-03-31 09:00:50

0
RewriteRule ^products/item/([0-9]+) /product/$1/ [R=301,L]