Как сделать на PHP редирект на другой сервер с сохранением домена?

Для реализации редиректа на другой сервер с сохранением домена на языке PHP можно воспользоваться функцией header(), которая позволяет отправить заголовок HTTP.

В случае редиректа на другой сервер с сохранением домена, можно использовать код следующего вида:

<?php
   // Перенаправление на другой сервер с сохранением домена
   header("Location: http://новый-сервер".$_SERVER['REQUEST_URI']);
   exit;
?>

Давайте разберем этот код подробнее:

1. header("Location: http://новый-сервер".$_SERVER['REQUEST_URI']); — Эта строка отправляет заголовок с указанием нового адреса, на который нужно перенаправить пользователя. С помощью $_SERVER['REQUEST_URI'] мы сохраняем оригинальный URL, чтобы передать его на новый сервер и дополнить адрес.

2. exit; — Эта функция останавливает дальнейшее выполнение скрипта. Она вызывается после отправки заголовка, чтобы убедиться, что дальнейший код не будет выполняться.

В приведенном коде, для сохранения домена, мы используем значение $_SERVER['REQUEST_URI'], которое включает в себя путь и параметры запроса. Если вам нужно только перенаправить пользователя на другой сервер без сохранения пути и параметров запроса, вы можете убрать $_SERVER['REQUEST_URI'] и указать просто адрес нового сервера.

Однако, нужно учесть, что для успешного редиректа функция header() должна вызываться до вывода любого контента на страницу, включая HTML-теги, пробелы и переносы строк. Если перед вызовом header() уже был отправлен какой-либо вывод, например, echo, print или даже пробелы, то PHP будет выдавать ошибку и редирект не будет работать.

Также, следует обратить внимание на протокол передачи данных, используемый для перенаправления. В приведенном примере используется простой HTTP-протокол. Если вы хотите использовать HTTPS, то адрес нового сервера должен начинаться с https://. Для использования других протоколов (например, FTP), вам нужно указать соответствующий префикс в адресе.

Надеюсь, эта подробная информация поможет вам реализовать редирект на другой сервер с сохранением домена на языке PHP.