HAProxy: Redirecionar a Raiz do Site Raiz para o Subsite

3

Gostaria de redirecionar a raiz do meu site para um subsite por padrão. Como

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

Eu tentei isso, mas isso corresponde a todos os URLs de qualquer maneira:

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
    
por Ianthe the Duke of Nukem 20.01.2015 / 17:04

2 respostas

10

O nlu está quase lá, mas o is_root ACL está um pouco errado.

O uso de path_beg resultará na correspondência de todos e quaisquer caminhos, quando na verdade você só deseja redirecionar solicitações com um caminho vazio.

Tente usar acl is_root path -i / em vez disso, pois ele corresponderá somente quando o caminho for SOMENTE /.

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
    
por 22.01.2015 / 19:17
1

Você pode verificar se já começa com subsite e usar a condição negada no redirecionamento:

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
    
por 20.01.2015 / 17:57