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

Переписать IP-адрес хоста на другой IP-адрес с помощью .htaccess

Мне нужно перенаправить контент на веб-сервер с именем хоста (mydomain.com) с текущего IP (123.123.123.123) на новый IP (234.234.234.234), сохраняя то же имя хоста, используя .htaccess. Как я могу это сделать?

Если вы можете использовать RewriteRule в твоем .htaccess файл, вы не можете «перенаправить» как таковой, но вы можете выполнить обратное прокси-соединение с 123.123.123.123 на 234.234.234.234, так что вам нужно будет поддерживать только один веб-сайт.

RewriteEngine On
RewriteRule ^/(.*)$ http://234.234.234.234/$1 [P]

Это предполагает, что хост 123.123.123.123 может напрямую подключаться к хосту 234.234.234.234. Подключения от пользователей, которые получают «123.123.123.123» в качестве IP-адреса для вашего DNS-имени, будут переходить на старый сервер, но затем Apache сделает запрос от их имени на новый сервер и вернет результаты этого запроса обратно пользователю. .

Важным побочным эффектом этого является то, что IP-адрес клиента будет потерян при перемешивании, так как хост 234.234.234.234 будет видеть запросы как все, исходящие от хоста 123.123.123.123. Однако Apache устанавливает X-Forwarded-For заголовок, в который вы можете войти, если захотите.

ПРЕДУПРЕЖДЕНИЕ: Единственная возможная загвоздка в этой настройке заключается в том, что соединения, входящие в 234.234.234.234, будут отправлять Host заголовок «234.234.234.234», который может быть нормальным, если ваш сайт единственный на этом IP-адресе, но если ваше новое местоположение хостинга использует именованные виртуальные хосты, скорее всего, это не удастся.

В этом случае лучшим вариантом будет использование другого хоста DNS. У вас должна быть возможность настроить авторитетные серверы имен в своей записи DNS так, чтобы они указывали на другое место, либо ваш новый провайдер веб-хостинга может предоставлять эту услугу, либо для максимального контроля вы можете взять на себя управление своими записями самостоятельно, используя такую ​​услугу, как Амазонский маршрут 53.

Проблема не в вашем rewriterule, а в вашей конфигурации DNS.

Моя собственная конфигурация DNS выглядит примерно так:

$TTL 86400
@   IN SOA dnsxx.ovh.net. tech.ovh.net. (2011111300 86400 3600 3600000 86400)
            IN  NS     dnsxx.ovh.net. 
            IN  NS     nsxx.ovh.net. 
            IN  A      123.123.123.123 
*           IN  CNAME  papdevis.fr. 

Это означает "если вы напечатаете papdevis.fr или что-то позади www.papdevis.fr или olivier.papdevis.fr зайти на сервер по адресу 123.123.123.123.

Если я изменю адрес 123.123.123.123 к новому например 234.234.234.234, это будет работать, и как только вы наберете papdevis.fr или любой другой материал (как объяснялось ранее), он перейдет в 234.234.234.234. Все будет работать плавно, не трогая ни одной .htaccess файл.