Назад | Перейти на главную страницу

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

nlu почти готов, но is_root ACL немного отключен.

С помощью 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

Вы можете проверить, запускается ли он уже с подсайта, и использовать отрицательное условие в перенаправлении:

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