Вопрос или проблема
Я работал над своим сайтом на WordPress (размещённым на DigitalOcean), используя IP-адрес в качестве адреса сайта. Я решил изменить адрес на своё доменное имя, поэтому зашёл в настройки и обновил адрес, затем нажал “Сохранить”. После этого, когда я перешёл на доменное имя, меня встретила ошибка 404. Переход по IP-адресу перенаправил меня на доменное имя.
Я пытался добавить строки в wp-config.php и functions.php с новым доменным именем, но ничего не изменилось, когда я снова попытался получить доступ к сайту. Я попытался получить доступ к базе данных через phpmyadmin, но получил ошибку: mysqli_real_connect(): (HY000/1045): Доступ запрещён для пользователя ‘root’@’localhost’ (используя пароль: ДА). Затем я попробовал получить доступ к базе данных через консоль, и хоть я смог аутентифицироваться с помощью имени пользователя и пароля wordpress, доступ был запрещён для всех SQL-запросов.
Я бы вернулся к своей резервной копии, но она была сделана 4 дня назад, и с тех пор у меня было значительное количество правок.
Некоторые вещи для проверки.
Ошибка 404, вероятно, связана с тем, что ваш веб-сервер неправильно настроен.
Если вы положите простую страницу в корневую папку WP, например, foo.php
<?php
echo "Вы здесь";
и если вы перейдёте по адресу
[мой-домен-адрес]/foo.php
и не получите “вы здесь”, то ваш веб-сервер неправильно настроен ИЛИ ваш DNS не указывает туда, куда вы думаете, что указывает.
Что касается настройки веб-сервера, если это apache, вам нужно сопоставить DNS с виртуальным хостом. Мой прогноз — эта часть отсутствует.
Ответ или решение
Изменение URL-адреса сайта в настройках WordPress, после которого вы сталкиваетесь с ошибкой 404, может быть вызвано несколькими факторами. Давайте разберемся, с чем вы столкнулись, и какие шаги можно предпринять для решения этой проблемы.
1. Проверьте конфигурацию веб-сервера
Ошибка 404 обычно указывает на то, что веб-сервер не может найти запрашиваемую страницу. Вам следует убедиться, что ваш веб-сервер (например, Apache или Nginx) настроен правильно для работы с новым доменным именем. Если вы используете Apache, убедитесь, что DNS-имя связано с правильным виртуальным хостом. Вот несколько шагов, которые стоит выполнить:
- Проверьте файл конфигурации виртуального хоста: Убедитесь, что файл конфигурации для домена содержит правильные директивы для обработки запросов.
- Перезапустите веб-сервер: После внесения изменений необходимо перезапустить веб-сервер, чтобы изменения вступили в силу. Например, для Apache используйте команду
sudo service apache2 restart
. - Проверьте файлы .htaccess: Убедитесь, что конфигурационные правила (например, перезапись URL) в файле
.htaccess
не мешают доступу к вашему сайту.
2. Проверьте DNS-настройки
Если вы по-прежнему получаете ошибку 404, есть вероятность, что ваши DNS-настройки неверны или не обновлены. Убедитесь, что ваш домен действительно указывает на IP-адрес вашего сервера, используя команды, такие как ping yourdomain.com
, чтобы подтвердить, что он правильно резолвится.
3. Статические страницы
Вы можете создать простой PHP-скрипт в корне вашего сайта (например, foo.php
) с содержимым:
<?php
echo "You made it";
Затем попробуйте получить доступ к этому файлу по адресу http://your-domain.com/foo.php
. Если вы видите сообщение «Вы достигли цели», значит, проблема кроется в самой WordPress, а не в веб-сервере или DNS.
4. Проблемы с доступом к базе данных
Вы упомянули проблемы с доступом к базе данных. Ошибка mysqli_real_connect(): (HY000/1045): Access denied for user 'root'@'localhost'
может означать, что пользователь root
не имеет нужных прав доступа. Вот несколько действий, которые можно предпринять:
- Проверьте учетные данные: Убедитесь, что вы используете правильное имя пользователя и пароль для доступа к базе данных.
- Проверьте привилегии: Подключитесь к MySQL через командную строку с учетными данными, которые вы используете для WordPress, и выполните команду
SHOW GRANTS FOR 'your_username'@'localhost';
, чтобы проверить, достаточно ли у вашего пользователя прав для выполнения SQL-запросов. - Создайте нового пользователя: Если проблемы сохраняются, попробуйте создать нового пользователя с полными правами доступа к вашей базе данных WordPress.
5. Резервное копирование
Если вы рассматриваете вариант восстановления резервной копии, но у вас есть данные, которые вы хотите сохранить, постарайтесь выполнить экспорт изменений из базы данных, созданной после последнего резервного копирования, перед восстановлением. Вы также можете рассмотреть возможность проведения тестовой среды на другом сервере для проверки работоспособности изменений.
6. Заключение
Изменение URL может быть достаточно сложным процессом, особенно если ваш сайт уже имеет определенные настройки. Следуя вышеуказанным шагам и проводя тщательную проверку конфигураций веб-сервера и базы данных, вы сможете устранить проблемы с 404 и восстановить доступ к вашему сайту. Если у вас возникнут дополнительные вопросы, не стесняйтесь обращаться за помощью к экспертам в области IT.