Мне нужно перенаправить контент на веб-сервер с именем хоста (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
файл.