2014-10-30 61 views
0

我搬到了一個新的軟件,現在需要趕上舊的網址,並重新寫入新的。Nginx的301重寫使用正則表達式

下面是一個例子:

舊的URL:http://www.religiousforums.com/forum/neopagan-revival-religions-dir/19088-druid-horoscope-whats-your-sign.html 新的URL:https://www.religiousforums.com/threads/druid-horoscope-whats-your-sign.19088/

我試過,但它不工作:

location ~* ^/forum/[^/]+/[0-9]+-[^\.]+\.html$ { 
      rewrite [^/]+/([0-9]+)-[^\.]+\.html$ /threads/$1/ last; 
    } 

缺少什麼我在這裏?我只需要新的網址中的ID。文字並不重要。

回答

0

您的捕獲組錯誤,您正在捕獲數字。

location ~* ^/forum/[^/]+/[0-9]+-[^.]+\.html$ { 
    rewrite ^/forum/[^/]+/([0-9]+)-([^.]+)\.html$ /threads/$2.$1/ last; 
}