Вопрос или проблема
Все работало хорошо, но потом я совершил большую ошибку и сервер сломался. После восстановления из резервных копий Дупликатора я получаю ошибку 404 на всех страницах, отображаемых пользователям. Все нормально в wp-admin.
Я изменил постоянные ссылки на “простые”, и это, кажется, работает хорошо, НО я действительно не могу использовать это решение, так как у меня есть плагины, требующие использования ярлыка статьи в качестве постоянной ссылки и ничего другого.
Я должен добавить, что на постоянной ссылке статьи, если я изменяю страницу, я получаю JSON ошибку, но не с простой постоянной ссылкой.
Спасибо за вашу помощь и советы. Бернард
PS- Это на 2 сайтах, “домен” и “поддомен”
Ответ или решение
Уважаемый Бернар,
Понимание проблемы с ошибкой 404 на сайтах WordPress после восстановления из резервной копии требует внимательного анализа и комплексного подхода. Разберем вашу ситуацию поэтапно, чтобы предложить возможные решения.
Теоретическая основа:
Ошибка 404 в WordPress зачастую указывает на проблему с конфигурацией URL-путей, что может быть связано с настройками постоянных ссылок (пермалинками) или файлами конфигурации веб-сервера. Переменные, влияющие на это, могут включать неверное правило перезаписи в файле .htaccess (для Apache) или конфигурации сервера Nginx, некорректное восстановление базы данных, или несовпадение между URL-адресами в базе данных и фактически настроенными доменами.
Пример (анализ вашей ситуации):
-
Смена структуры пермалинков:
- Вы указали, что при изменении структуры пермалинков на "простую" проблема исчезает. Это является ключом к пониманию, что проблема связана именно с поддержкой пользовательских пермалинков, зависящих от корректного использования системы переписывания URL в WordPress.
-
JSON-ошибка:
- Ошибка JSON при попытке сохранить изменения на страницах может указывать на сбой в связи с сервером, что бывает в случаях, когда пермалинки неправильно обрабатываются сервером и не могут быть разрешены в корректные URL-адреса.
-
Влияние на несколько сайтов:
- Упоминание о проблеме на "домене" и "субдомене" может указывать на общую ошибку в конфигурациях веб-сервера или баз данных, которые были восстановлены из дублирующих бэкапов.
Применение – Решение проблемы:
-
Проверка файла .htaccess:
-
Для Apache проверьте, что в корневой директории сайта находится файл .htaccess с корректными правилами переписывания. По умолчанию WordPress использует следующие строки:
# BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress
-
Если файла нет или он пуст, зайдите в панель администратора WordPress и измените пермалинки на "простую структуру", а затем верните к желаемой структуре. Это действие должно автоматически пересоздать файл .htaccess с нужными записями.
-
-
Настройка Nginx:
-
Если вы используете Nginx, убедитесь, что в конфигурации сервера заданы правильные правила для переадресации URL. Пример конфигурации для WordPress:
location / { try_files $uri $uri/ /index.php?$args; }
-
-
Проверка базы данных:
- Убедитесь, что все URL в базе данных корректно прописаны и соответствуют текущему доменному имени. Особенно важно обратить внимание на таблицы
wp_options
,wp_posts
иwp_postmeta
.
- Убедитесь, что все URL в базе данных корректно прописаны и соответствуют текущему доменному имени. Особенно важно обратить внимание на таблицы
-
Проверка плагинов и тем:
- Деактивируйте все плагины и переключитесь на стандартную тему WordPress, чтобы исключить конфликт с плагинами или темой, который может нарушать работу URL.
-
Обращение к логам:
- Изучите журналы ошибок веб-сервера (например,
/var/log/apache2/error.log
или/var/log/nginx/error.log
) на предмет записей, связанных с вашими попытками доступа к страницам. Это может дать подсказки о том, где именно происходит сбой.
- Изучите журналы ошибок веб-сервера (например,
-
Проверка JSON API:
- Ошибки JSON могут быть связаны с неверной работой REST API. Проверьте настройки REST API доступности и убедитесь, что темы и плагины, связанные с функционалом, полностью совместимы с вашей версией WordPress.
Таким образом, проблема 404 ошибок на пост-пермалинках после восстановления сайта часто является следствием неисправной конфигурации сервера или неверно восстановленных данных. Шаг за шагом следуя инструкциям выше, вы должны обнаружить и исправить причину проблемы.
Если указанная проблема остается нерешенной, возможно, потребуется более подробная диагностика, включая профессиональный аудит конфигурации вашего сервера и базы данных. Не забудьте сохранять резервные копии перед внесением значительных изменений для предотвращения потенциальных потерь данных.
С уважением,
[Ваше имя],
IT-эксперт