2015-09-07 2 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

Но это только делает браузер ввести петлю перенаправлять из редирект 301. Как мне это достичь?

ответ

2

Ваше регулярное выражение работает только для одного / в конце, так как .* ест всех символов до последнего /.

Попробуйте это регулярное выражение:

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

.*? делает его не жадный здесь.

[/]+ для одной или нескольких косых черт.

Смежные вопросы