redirect prefix http://example.com code 301 if { hdr(host) -i www.example.com }
Пожалуйста, смотрите документацию redirect prefix правила для получения дополнительной информации.
Если вы используете более новую версию HAProxy, то есть по крайней мере 1,6, вы можете использовать более общий синтаксис, который позволяет перенаправить любой хост, а не только явно с именем
http-request redirect prefix http://%[hdr(host),regsub(^www\.,,i)] code 301 if { hdr_beg(host) -i www. }
Здесь мы используем regsub фильтр для динамического генерации правильного имени хоста без префикса www.
.
В случае, если вы хотите, чтобы выполнить переадресацию наоборот, то есть, чтобы добавить www
, если его нет уже, правило становится проще:
http-request redirect prefix http://www.%[hdr(host)] code 301 unless { hdr_beg(host) -i www. }
Вы должны добавить 'код 301' в примерах на основание для согласованности с первым примером – bblue