2015-09-07 58 views
1

我需要重定向所有URL與非尾隨到URL斜線HAProxy的去除拖尾斜線

實施例:

http://www.example.com/education/ - >http://www.example.com/education

http://www.example.com/blah// - >http://www.example.com/blah

http://www.example.com/blah/blah/// - >http://www.example.com/blah/blah

這是我現在:

frontend localnodes 
    bind 127.0.0.1:80 

    acl has_trailing_slash path_end/
    reqrep ^(.*)[\ /]$ \1 
    redirect prefix/code 301 if has_trailing_slash 

參見:haproxy remove trailing slash

但這僅僅是讓瀏覽器中輸入301S的重定向循環。我如何實現這一目標?

回答

2

您的正則表達式最後只能運行一個/,因爲.*吃完所有字符直到最後/

試試這個正則表達式:

^(.*?)[\/]+$ \1 

.*?使它非貪婪這裏。

[/]+用於一個或多個斜線。