2016-06-14 176 views
1

我需要重寫一些博客URL以刪除某些字符。這些是「a556」(a總是存在的,數字總是3位數並且是隨機的)。這是由一個單一或雙連字符,我也需要刪除。重寫URL以刪除某些字符

這些需要從重定向:

[域] /博客/ [ARTICLE_NAME] -a556

[域] /博客/ [ARTICLE_NAME] - -a556

[域] /博客/ [article_name_with_characters_removed]

認爲正則表達式來檢測文本中刪除是:

([-]{1,2}a[0-9])\w+ 

但我不知道該怎麼把它放到一個重寫規則中。

任何人都可以幫忙嗎?

+0

你想* *重定向的舊網址到新網址嗎?或者您希望通常使您的網址以新格式顯示? – deceze

+0

提示:這些虛榮URL很容易被利用,因爲惡意用戶可以僞造類似'[domain]/blog/something-really-nasty-and-offensive-a556'的鏈接。最好還是檢查一下虛榮的部分,而不是把它扔掉。 – Tomalak

+0

@Tomalak有人從中得到什麼...? – deceze

回答

-1

您是否正在尋找將舊網址處理爲新網址的功能?這樣的事情應該做的伎倆,如果你有網址的數組:

var processedURLs = oldURLs.map(function(url) { 
    return url.replace(/[-]{1,2}a[0-9]+/, ''); 
}) 
-1

這個重寫規則可以開了竅:

blog/(.+[a-zA-Z0-9])-+a[0-9]+  blog/$1 

可以簡化[A-ZA-Z0-9]刪除文章名稱slug(即[a-z0-9]或[az])末尾不能出現的所有字符範圍。

0

請試試這個:

RewriteEngine On 
RewriteRule (.*)-{1,2}a\d{3}(.*) $1$2 [R]