Ошибка WordPress 404 на постоянных ссылках с именем записи после восстановления сайта.

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

Все работало хорошо, но потом я совершил большую ошибку и сервер сломался. После восстановления из резервных копий Дупликатора я получаю ошибку 404 на всех страницах, отображаемых пользователям. Все нормально в wp-admin.

Я изменил постоянные ссылки на “простые”, и это, кажется, работает хорошо, НО я действительно не могу использовать это решение, так как у меня есть плагины, требующие использования ярлыка статьи в качестве постоянной ссылки и ничего другого.

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

Спасибо за вашу помощь и советы. Бернард

PS- Это на 2 сайтах, “домен” и “поддомен”

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

Уважаемый Бернар,

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

Теоретическая основа:

Ошибка 404 в WordPress зачастую указывает на проблему с конфигурацией URL-путей, что может быть связано с настройками постоянных ссылок (пермалинками) или файлами конфигурации веб-сервера. Переменные, влияющие на это, могут включать неверное правило перезаписи в файле .htaccess (для Apache) или конфигурации сервера Nginx, некорректное восстановление базы данных, или несовпадение между URL-адресами в базе данных и фактически настроенными доменами.

Пример (анализ вашей ситуации):

  1. Смена структуры пермалинков:

    • Вы указали, что при изменении структуры пермалинков на "простую" проблема исчезает. Это является ключом к пониманию, что проблема связана именно с поддержкой пользовательских пермалинков, зависящих от корректного использования системы переписывания URL в WordPress.
  2. JSON-ошибка:

    • Ошибка JSON при попытке сохранить изменения на страницах может указывать на сбой в связи с сервером, что бывает в случаях, когда пермалинки неправильно обрабатываются сервером и не могут быть разрешены в корректные URL-адреса.
  3. Влияние на несколько сайтов:

    • Упоминание о проблеме на "домене" и "субдомене" может указывать на общую ошибку в конфигурациях веб-сервера или баз данных, которые были восстановлены из дублирующих бэкапов.

Применение – Решение проблемы:

  1. Проверка файла .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 с нужными записями.

  2. Настройка Nginx:

    • Если вы используете Nginx, убедитесь, что в конфигурации сервера заданы правильные правила для переадресации URL. Пример конфигурации для WordPress:

      location / {
       try_files $uri $uri/ /index.php?$args;
      }
  3. Проверка базы данных:

    • Убедитесь, что все URL в базе данных корректно прописаны и соответствуют текущему доменному имени. Особенно важно обратить внимание на таблицы wp_options, wp_posts и wp_postmeta.
  4. Проверка плагинов и тем:

    • Деактивируйте все плагины и переключитесь на стандартную тему WordPress, чтобы исключить конфликт с плагинами или темой, который может нарушать работу URL.
  5. Обращение к логам:

    • Изучите журналы ошибок веб-сервера (например, /var/log/apache2/error.log или /var/log/nginx/error.log) на предмет записей, связанных с вашими попытками доступа к страницам. Это может дать подсказки о том, где именно происходит сбой.
  6. Проверка JSON API:

    • Ошибки JSON могут быть связаны с неверной работой REST API. Проверьте настройки REST API доступности и убедитесь, что темы и плагины, связанные с функционалом, полностью совместимы с вашей версией WordPress.

Таким образом, проблема 404 ошибок на пост-пермалинках после восстановления сайта часто является следствием неисправной конфигурации сервера или неверно восстановленных данных. Шаг за шагом следуя инструкциям выше, вы должны обнаружить и исправить причину проблемы.

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

С уважением,
[Ваше имя],
IT-эксперт

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

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