Вопрос или проблема
Я начал разрабатывать свой собственный сайт на WordPress, который я хостил локально. Я использую Apache для хостинга и MariaDB для базы данных. Я заходил на сайт по своему публичному IP, которым в моем случае был xxx.xxx.1.163. Я также мог получить доступ к своему сайту через 127.0.0.1. Я настроил сайт WordPress, и все работало хорошо.
ПРОБЛЕМА
Пока я не переехал с одного места на другое с компьютером. Теперь я не могу получить доступ к своему сайту. Я боролся с этой проблемой в течение 2 дней. Теперь мой публичный IP — xxx.xxx.1.110. Проблемы, которые возникают, когда я пытаюсь получить доступ к сайту:
Доступ через браузер
-
Когда я пытаюсь получить доступ через 127.0.0.1, он автоматически перенаправляет меня на xxx.xxx.1.163, хотя я очистил весь кэш, историю и файлы cookie в Firefox.
-
Когда я пытаюсь получить доступ через xxx.xxx.1.110, он также перенаправляет меня на xxx.xxx.1.163.
Я пробовал то же самое в Chrome. Результаты те же.
Что я попробовал и выяснил:
Apache работает нормально –
Когда у меня в каталоге /var/www/html только файл index.html от Apache, я могу получить доступ к стандартной странице Apache через 127.0.0.1 и через мой текущий публичный IP xxx.xxx.1.110. На этом все кажется в порядке.
Оригинальный WordPress – Когда я перемещаю оригинальные файлы WordPress в каталог /var/www/html, то с 127.0.0.1 и xxx.xxx.1.110 появляется первая страница настройки WordPress. Так что и здесь все выглядит нормально.
Когда я пытаюсь настроить WordPress с тем же подключением к базе данных, что и раньше, он выдает ошибку и говорит “WordPress уже установлен”. И теперь, когда я пытаюсь подключиться к 127.0.0.1 или xxx.xxx.1.110, он автоматически перенаправляет меня на мой старый публичный IP xxx.xxx.1.163.
Когда я перемещаю свой собственный проект WordPress (проект, который у меня был раньше и работал) в папку /var/www/html, происходит то же самое. Я продолжал перенаправляться на xxx.xxx.1.163.
МОЯ ИДЕЯ РЕШЕНИЯ
Моя идея состоит в том, что мне, вероятно, нужно внести некоторые изменения в базу данных WordPress и, возможно, в конфигурационные файлы WordPress. Но у меня нет представления, что именно и где менять. Я тоже искал ответ, но нашел очень разные мнения.
Если кто-то мог бы сказать мне, правильно ли я движусь в нужном направлении или что конкретно мне следует изменить, я был бы очень благодарен.
ОБНОВЛЕНИЕ
Я нашел и исправил проблему. Дело в том, что все ссылки в базе данных WordPress указывали на старый публичный IP xxx.xxx.1.163. Это нужно было изменить.
Изменения, которые нужно было внести:
- В wp_options
-
Изменить siteurl
-
Изменить home url
- В wp_posts
- заменить все старые публичные IP на новый публичный IP
Для меня, как новичка, самым простым способом сделать это было использовать GUI, например phpMyAdmin.
Я сделал mysqldump базы данных WordPress. Все данные.
Ссылка:
https://www.sqlshack.com/how-to-backup-and-restore-mysql-databases-using-the-mysqldump-command/
Сделал поиск и замену IP.
в vi:
:%s/192.168.0.10/somedomain.com/g
Восстановил базу данных.
Ответ или решение
Конечно! Давайте разберем вашу проблему с перенаправлением на старый публичный IP-адрес в WordPress и как ее решить.
Проблема
При перемещении компьютера и смене публичного IP-адреса на xxx.xxx.1.110 у вас возникла ошибка перенаправления на старый IP-адрес xxx.xxx.1.163 при попытке доступа к вашему сайту WordPress. Это связано с тем, что WordPress сохраняет настройки сетевого адреса в базе данных, что приводит к автоматическому перенаправлению.
Решение
Ваша идея направлена в правильном направлении. Действительно, необходимо внести изменения в базу данных WordPress, чтобы обновить все ссылки и настройки, связанные с вашим новым публичным IP-адресом. Вот шаги, которые помогут вам решить эту проблему:
-
Сделайте резервную копию базы данных:
- Перед внесением каких-либо изменений, создайте резервную копию вашей базы данных, используя команду
mysqldump
или через интерфейс phpMyAdmin. Это поможет вам восстановить базу данных в случае возникновения ошибок.
mysqldump -u [username] -p [database_name] > backup.sql
- Перед внесением каких-либо изменений, создайте резервную копию вашей базы данных, используя команду
-
Измените настройки в wp_options:
- Подключитесь к вашей базе данных (например, через phpMyAdmin) и отредактируйте таблицу
wp_options
. Вам нужно изменить значения дляsiteurl
иhome
:
UPDATE wp_options SET option_value = 'http://xxx.xxx.1.110' WHERE option_name = 'siteurl'; UPDATE wp_options SET option_value = 'http://xxx.xxx.1.110' WHERE option_name = 'home';
- Подключитесь к вашей базе данных (например, через phpMyAdmin) и отредактируйте таблицу
-
Замените старый IP-адрес на новый в таблице wp_posts:
- Если у вас есть статические ссылки, содержащие старый IP-адрес, вам необходимо заменить его:
UPDATE wp_posts SET post_content = REPLACE(post_content, 'http://xxx.xxx.1.163', 'http://xxx.xxx.1.110');
-
Проверьте файл конфигурации wp-config.php:
- Убедитесь, что в вашем файле
wp-config.php
(находится в корне установки WordPress) нет жестко заданных URL-адресов.
- Убедитесь, что в вашем файле
-
Очистите кеш браузера:
- После внесения всех изменений, очистите кеш браузера (или проверьте доступ через режим инкогнито), чтобы убедиться, что старые данные больше не кэшируются.
-
Перезапустите Apache:
- После всех изменений рекомендуется перезапустить сервер Apache, чтобы убедиться, что все настройки применены.
sudo systemctl restart apache2
Заключение
После выполнения всех этих шагов вы должны сможете получить доступ к вашему сайту WordPress через новый публичный IP-адрес. Если вы столкнетесь с любыми другими проблемами, обратитесь к логам Apache и убедитесь, что никаких ошибок не возникает. Удачи в дальнейшем развитии вашего сайта!