Поддержка Проблемы и решения Ошибка публикации страниц и записей в WP 5.0.2

  • У меня проблемы при создании страниц и постов на WP Version 5.0.2 (свеже установленный)

    на розовом фоне выдает такую ошибку: Publishing failed

    установил плагин «Health Check» — что бы понять где искать ошибку

    Он нашел следующую проблему:

    The REST API call gave the following unexpected result: (404)
    Not Found
    The requested URL /wp-json/wp/v2/posts was not found on this server.

    На буржуйском ресурсе вычитал что надо прописать эту запись в PHP.ini
    always_populate_raw_post_data = -1

    НЕ помогло!

    вопрос, как решить мою проблему ?

    Заранее спасибо за помощь!

    • Тема изменена 5 лет, 3 месяца назад пользователем Yui.
Просмотр 15 ответов — с 1 по 15 (всего 19)
  • Модератор Yui

    (@fierevere)

    永子

    REST API call gave the following unexpected result: (404)

    либо у вас не работает mod_rewrite ( Постоянные ссылки настраивали? Работают?)
    либо у вас таким образом отключен REST API, см правила запрета в .htaccess и прочем, а также плагины «безопасности»

    а также плагины «безопасности»

    и еще всякие ускорители/улучшатели/настройщики сайтов этим балуются

    1. ничего не настраивал, просто скопировал код который предложил wordpress в админке и залил .htaccess в корень, вот код:
    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ — [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    2. все плагины отключены!
    3. тема стоит «Twenty Seventeen»
    4. ускорители/улучшатели/настройщики — не устанавливал
    5. в php.ini сделал эту запись, не помогло: always_populate_raw_post_data = -1

    страницы которые раньше работали, сеичас не работают:
    http://www.crewing.lv/sample-page/
    http://www.crewing.lv/my-first-page/

    эта страница работает:
    http://www.crewing.lv/?page_id=3&preview=true

    • Ответ изменён 5 лет, 3 месяца назад пользователем kulniz.
    • Ответ изменён 5 лет, 3 месяца назад пользователем kulniz.
    • Ответ изменён 5 лет, 3 месяца назад пользователем kulniz.
    • Ответ изменён 5 лет, 3 месяца назад пользователем kulniz.
    Модератор Yuri

    (@yube)

    Похоже на

    либо у вас не работает mod_rewrite

    Думаю, стоит обратиться к техподдержке хостинга.

    они говорят мы вам включили mod_rewrite
    как это проверить самому ?

    только что посмотрел конфигурацию Apacha (mod_rewrite таместь)

    Loaded Modules:

    core mod_so mod_watchdog http_core mod_log_config mod_logio mod_version mod_unixd mod_access_compat mod_alias mod_auth_basic mod_authn_core mod_authn_file mod_authz_core mod_authz_host mod_authz_user mod_autoindex mod_deflate mod_dir mod_env mod_filter mod_mime prefork mod_negotiation mod_php7 mod_reqtimeout mod_rewrite mod_setenvif mod_status

    • Ответ изменён 5 лет, 3 месяца назад пользователем kulniz.
    Модератор Yui

    (@fierevere)

    永子

    они говорят мы вам включили mod_rewrite

    раз включили и не работает
    значит нет директивы, которая бы разрешала использовать правила перезаписи в .htaccess
    также им требуется установить для вашего сайта
    AllowOverride All

    Модератор Yui

    (@fierevere)

    永子

    еще у них там кодировка по умолчанию так себе,
    впишите в начало .htaccess
    AddDefaultCharset utf-8
    к текущей проблеме это не относится, но другие проблемы вылезут без UTF8

    Модератор Yuri

    (@yube)

    как это проверить самому ?

    С таким .htaccess, как ставит WP, любая ссылка с любыми буквами после слеша (например http://www.crewing.lv/23wdfwef344) должна обрабатываться вордпрессом. Если 404 отдает Апач, значит реврайт не работает, и до WP ход не дошел.

    mod_rewrite таместь

    Кроме наличия модуля, в конфиге Апача должны быть разрешения AllowOverride для его использование. См. ЧАВО/Не работают постоянные ссылки « WordPress Codex

    я правильно сделал .htaccess ?
    (вторая строчка, добавил запись «AddDefaultCharset utf-8»)

    <IfModule mod_rewrite.c>
    AddDefaultCharset utf-8
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ — [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    • Ответ изменён 5 лет, 3 месяца назад пользователем kulniz.
    Модератор Yuri

    (@yube)

    вторая строчка, добавил запись «AddDefaultCharset utf-8»

    Лучше вынесите ее вверх. AddDefaultCharset не зависит от mod_rewrite. В данном случае не принципиально, но так правильнее. А если бы wordpress сам добавил свои правила в .htaccess, то было бы принципиально.

    так сделать ?

    AddDefaultCharset utf-8

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ — [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    залез в в фаил apache2.conf
    похоже что AllowOverride — выключено!
    надо все 4 записи AllowOverride None -> изменить на AllowOverride All
    и перегрузить Apache — я правильно действую ?

    <Directory />
    Options FollowSymLinks
    AllowOverride None
    Require all denied
    </Directory>

    <Directory /usr/share>
    AllowOverride None
    Require all granted
    </Directory>

    <Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
    </Directory>

    #<Directory /srv/>
    # Options Indexes FollowSymLinks
    # AllowOverride None
    # Require all granted
    #</Directory>

    Модератор Yuri

    (@yube)

    так сделать ?

    Да, нормально.

    надо все 4 записи AllowOverride None -> изменить на AllowOverride All

    Тольку ту, которая относится к директории с самим сайтом. Скорее всего, это /var/www/. Вам виднее 😉

    и перегрузить Apache

    Да, конечно.

    Модератор Yui

    (@fierevere)

    永子

    надо все 4 записи AllowOverride None -> изменить на AllowOverride All
    и перегрузить Apache — я правильно действую ?

    нет не все
    только для папки с вашим сайтом

    это скорее всего тут

    <Directory /var/www/>
    Options Indexes FollowSymLinks
    AllowOverride None
    Require all granted
    </Directory>
    Модератор Yui

    (@fierevere)

    永子

    <IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteRule ^index\.php$ — [L]
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule . /index.php [L]
    </IfModule>

    и еще, вот это у вас находится внутри #BEGIN WordPress и #END WordPress, возьмите за правило, добавлять своё. только выше и ниже этого блока. Т.к. то, что внутри может быть перезаписано WordPress, БЕЗ сохранения. Пишите выше или ниже.

Просмотр 15 ответов — с 1 по 15 (всего 19)
  • Тема «Ошибка публикации страниц и записей в WP 5.0.2» закрыта для новых ответов.