HAProxy:将根站点根目录重定向到子站点

HAProxy:将根站点根目录重定向到子站点

我想默认将我的网站根目录重定向到子网站。例如

http://www.domain.com/ ---> http://www.domain.com/subsite

我已经尝试过这个,但是无论如何这都会匹配所有 URL:

acl is_root path_beg -i /
acl is_domain hdr(host) -i www.domain.com

redirect code 301 location http://www.domain.com/subsite if is_domain is_root

答案1

nlu 几乎完成了,但是is_rootACL 有点偏离。

使用path_beg将导致任何和所有路径被匹配,而实际上您只想使用空路径重定向请求。

尝试使用acl is_root path -i /,因为它仅在路径为 / 时才会匹配。

acl is_root path -i /
acl is_domain hdr(host) -i www.domain.com

redirect code 301 location http://www.domain.com/subsite if is_domain is_root

答案2

您可以检查它是否已经以子站点开始并在重定向中使用否定条件:

acl is_subdomain    path_reg    ^/subsite/


acl is_root path_beg -i /
acl is_domain hdr(host) -i www.domain.com

redirect code 301 location http://www.domain.com/subsite if is_domain ! is_subdomain

答案3

我遇到了同样的问题,然后我使用下面的 acl 来解决我的问题。

    acl is_root path_beg -i /
    http-request set-path /subsite if is_root

相关内容