2012-09-12 28 views
0

我需要編寫一個正則表達式來從URL的末尾刪除大量數字。.htacess urlrewrite刪除號碼

下面是一些例子:

/uk/futsal-cosmos-10-panel-match-football-white-purple-24100787502654/ 
/uk/escape-t400-individual-rubber-dumbbells-up-to-50kg-2289101502719397/ 
/uk/golds-gym-standard-hammertone-plate-25-4mm-1-25kg-x-12-1736702088365877/ 

所以基本上我需要去掉最終的數字,包括儀表板。

在第三示例中,這應該成爲:

/uk/golds-gym-standard-hammertone-plate-25-4mm-1-25kg-x-12/ 

即12應該保持。

回答

1

如果最後的數字總是已經先通過 - ,試試這個

<IfModule mod_rewrite.c> 
    RewriteEngine on 

    RewriteRule ^(.*)-[0-9]+/$ /$1/ [L,QSA] 
</IfModule> 

由[R = 301,L]替換[L,QSA]如果你想有一個301重定向

對於10位儀表

RewriteRule ^(.*)-[0-9]{10}/$ /$1/ [L,QSA] 
+0

感謝喜之後 - 這是一個很好的答案,但: /英國/枚金牌的健身房,標準錘紋板,25-4mm-1-25kg-X-12-1736702088365877/ 新ü RL的這將是/ uk/golds-gym-standard-hammertone-plate-25-4mm-1-25kg-x-12 /你的改寫網址將會改變/ uk/golds-gym-standard-hammertone -plate-25-4mm-1-25kg-x/which which a 404 –

+0

是否有可能使重寫規則只匹配短劃線之後的數字超過10位的數字? –

+0

我只是在破折號後面編輯了10位數字。請測試第一種形式,只有最後一個破折號將被刪除任何最後一個號碼 – mabarroso