我需要将所有网址重定向到带有非尾部斜杠的网址
示例:
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的重定向循环。我如何实现这一目标?
答案 0 :(得分:2)
您的正则表达式最终仅适用于一个/
,因为.*
会将所有字符都放到最后/
。
试试这个正则表达式:
^(.*?)[\/]+$ \1
.*?
让这里不贪婪。
[/]+
代表一个或多个斜杠。