Только что установил WP на Ubuntu. Не могу опубликовать новый пост.

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

Я установил WordPress на сервере Linux, следуя этим учебным пособиям в указанном порядке:

https://www.digitalocean.com/community/tutorials/how-to-install-lamp-stack-on-ubuntu
https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-apache-in-ubuntu-22-04
https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-on-ubuntu-22-04-with-a-lamp-stack

Все кажется прошло гладко.

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

Я проверил журнал консоли браузера, и получаю это:

api-fetch.min.js?ver…85334c5ec26e149cc:2 
 POST https://......./wp-json/wp/v2/posts/20?_locale=user 404 (Не найдено)

Некоторые шаги, которые я предпринял, чтобы исправить проблему:

  • Сохранение постоянных ссылок.
  • Удаление .htaccess. Он был сгенерирован заново.
  • Деактивация плагинов.
  • Смена темы.

Ничего не помогает.

У вас есть какие-либо идеи? Происходила ли с вами подобная ситуация ранее? Пожалуйста, помогите мне! Большое спасибо!

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

Вопрос, с которым вы столкнулись, очень распространен среди пользователей WordPress, особенно после установки системы на сервере. Давайте разберем возможные причины проблемы с публикацией новых постов в WordPress и предложим пути её решения.

1. Ошибка 404 при выполнении запросов к API

Согласно приведенной вами информации из консоли браузера, ошибка 404 (Not Found) возникает при попытке выполнить POST-запрос к эндпоинту REST API WordPress. Это может происходить по нескольким причинам:

  • Неправильные настройки пермалинков: Хотя вы уже пытались менять пермалинки, убедитесь, что ваш файл .htaccess корректен и настроен на работу с модулем mod_rewrite 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
  • Конфликт с установленными плагинами или темами: Хотя вы уже деактивировали плагины и сменили тему, возможно, что некоторые плагины все же оставили за собой конфигурации, мешающие работе API. Рекомендуется временно полностью удалить все плагины и снова протестировать.

2. Неправильные настройки сервера

  • Модуль mod_rewrite не включен: Убедитесь, что на вашем сервере включен модуль mod_rewrite. Это можно сделать, выполнив команды:
sudo a2enmod rewrite
sudo systemctl restart apache2

Затем убедитесь, что в файле конфигурации Apache (обычно /etc/apache2/apache2.conf) включена поддержка .htaccess для вашего виртуального хоста. Ищите строки:

<Directory /var/www/html>
    AllowOverride All
</Directory>

3. SSL-сертификат и настройки HTTPS

Вы установили самоподписной SSL-сертификат. Убедитесь, что ваши запросы выполняются по HTTPS без ошибок. Вы можете протестировать это, открыв консоль разработчика в браузере и проверив наличие любых Mixed Content ошибок. Эти ошибки могут возникнуть, если некоторые ресурсы запрашиваются по HTTP вместо HTTPS.

4. Логи сервера

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

sudo tail -f /var/log/apache2/error.log
sudo tail -f /var/log/apache2/access.log

5. Ручное тестирование API

Проверьте возможность доступа к REST API напрямую. Попробуйте выполнить следующий GET-запрос через curl:

curl -i -X GET https://your-domain.com/wp-json/wp/v2/posts

Если получаете ответ 404, значит проблемы с REST API существуют.

6. Пользовательские права

Убедитесь, что ваш пользователь имеет достаточные права для публикации контента. Это можно проверить в разделе "Польз Users" в админке WordPress.

Заключительные рекомендации

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

Я надеюсь, что эти советы помогут вам устранить проблему. Если у вас есть дополнительные вопросы или необходима дальнейшая помощь, не стесняйтесь обращаться!

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

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