Скопировал сайт, но не могу войти – перенаправляет на старый сайт.

Вопрос или проблема

Я клонировал сайт example.com на свой собственный сервер разработки, назвав его example.mydomain.com. Он отображается нормально, пока я использую порт 8080 (обходя мой сервер varnish).

Я могу успешно войти на страницу wp-admin на example.com, но не могу попасть на страницу example.mydomain.com/wp-admin – он перенаправляет на главную страницу example.com.

Подозревая, что моя настройка varnish может быть неисправна, я посетил example.mydomain.com:8080/wp-admin и был предоставлен с формой для входа.

Однако, вводя учетные данные там, я вхожу в и перенаправляюсь на example.com/wp-admin/ – рабочий сайт. Я даже посмотрел на строку запроса, которая выглядит так: http://example.myserver.com:8080/wp-login.php?redirect_to=http%3A%2F%2Fexample.myserver.com%3A8080%2Fwp-admin%2F&reauth=1 – которая, кажется, должна делать правильные вещи, но нет удачи.

Я сделал полный поиск текста в кодовой базе, ища места, где может быть жестко закодировано имя сервера, и не нашел ничего очевидного (кроме некоторых ссылок на изображения в CSS).

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

Проверьте файл wp-config.php.

Найдите эти две строки в вашем wp-config.php (или добавьте их в конце, если их там нет) и убедитесь, что “example.com” является правильным расположением вашего сайта.

define('WP_HOME','http://example.com');
define('WP_SITEURL','http://example.com');

Также в базе данных проверьте таблицу wp_options, проверьте эти два option_name; siteurl и home.

Попробуйте изменить URL в wp_options в базе данных: https://www.hostinger.co.uk/tutorials/wordpress/how-to-change-wordpress-urls-in-mysql-database-using-phpmyadmin

.

Ответ или решение

Когда вы клонировали ваш сайт с адреса example.com на ваш сервер разработки с именем example.mydomain.com, вы столкнулись с проблемой перенаправления на старый сайт при попытке входа в админ панель wp-admin. Это распространенная проблема, с которой сталкиваются многие разработчики при клонировании сайтов, сопряженная с неправильными настройками URL.

Теория (азы проблемы):

Когда вы клонируете сайт WordPress, в базе данных все еще могут оставаться старые ссылки на ваш основной (продакшн) сайт. WordPress полагается на значения, содержащиеся в базе данных, в частности, на таблицу wp_options, где указываются параметры siteurl и home. Они определяют базовый URL структуры сайта и домашнюю страницу соответственно. Если эти значения не обновлены в соответствии с новым расположением сайта, могут возникать проблемы с перенаправлениями, такие как у вас.

Пример (демонстрация проблемы):

Вы упомянули, что при попытке входа через example.mydomain.com:8080/wp-admin всё равно происходит перенаправление на example.com. Это связано с тем, что после успешной аутентификации WordPress использует siteurl для определения, куда нужно перенаправить пользователя. Если этот параметр всё еще указывает на example.com, перенаправление произойдет на старый URL.

Применение (как исправить ситуацию):

  1. Проверка и правка настроек в wp-config.php:

    Откройте файл wp-config.php, который находится в корне вашей установки WordPress. Проверьте, есть ли в нем строки:

    define('WP_HOME','http://example.mydomain.com:8080');
    define('WP_SITEURL','http://example.mydomain.com:8080');

    Если таких строк нет, добавьте их, чтобы они указывали на ваш текущий сайт разработки.

  2. Обновление базы данных:

    Вам необходимо внести изменения в базу данных через инструмент, такой как phpMyAdmin или через консоль MySQL:

    • Подключитесь к базе данных, используемой клонированным сайтом.
    • Найдите таблицу wp_options.
    • Обновите значения siteurl и home так, чтобы они указывали на http://example.mydomain.com:8080.
  3. Дополнительные проверки:

    • Убедитесь, что на сервере нет кэширования, которое может замещать ваши изменения (например, Varnish).
    • Перепроверьте наличие жестко закодированных ссылок в темах и плагинах. Возможно, они также ссылаются на старый домен.
  4. Использование плагинов для поиска и замены:

    Есть плагины, например, Better Search Replace, которые могут помочь вам найти и заменить все вхождения старого домена example.com на example.mydomain.com во всей базе данных.

  5. Очистка кеша:

    После внесения всех изменений рекомендуется очистить кэш вашего браузера и сервера, дабы подтвердить, что изменения вступили в силу.

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

Оцените материал
Добавить комментарий

Капча загружается...