Главная > Компьютеры > Редирект с одного домена на другой в Apache

Редирект с одного домена на другой в Apache

Будем редиректить так, чтобы не терялись все пути и куеристринги.

Зайдём по адресу http://старое.ру/qwe?asd=zxc , и нас будет редиректить на https://новое.ком/qwe?asd=zxc

Это можно писать в .htaccess, но мы напишем это прямо в конфиг виртуальных хостов.

Если же в вашем случае надо редиректить вообще всё, что своим DNSом смотрит на ваш сервер, то можно сделать ещё проще. Как вы знаете, в Апаче существует дефолтный виртуал хост. Тот Virtual Host, который встречается первым — и есть дефолтный. Именно он будет использоваться по умолчанию, если никакое другое правило не подошло.

Предполагаем, что вы конечно же основные виртуал хосты прописали как надо. Поэтому теперь вы имеете право дописать в дефолтный VirtualHost вот что:

И всё!
Не забудьте перезагрузить ваш сервер apache2, например командой sudo service apache2 restart.

 

Учтите, что если вы хотите редиректить источник https, вам соответственно нужно будет настроить верный подходящий ssl сертификат. Ведь прежде, чем сервер будет иметь право ответить «301 иди туда», он должен будет подтвердить браузеру, что данный сервер имеет право соответствовать доменному имени, по которому вы обращаетесь, old.ru.

 

Если вы всё-таки хотите прописать это в .htaccess, то можно написать следующее:

 

Редиректы работают, никаких лишних двойных слешей, весь путь и куеристринги сохраняются.

Обсуждение

avatar

wpDiscuz