Поддержка Проблемы и решения Не работает Gutenberg с поддоменами. Ошибка CORS

  • Добрый вечер. Мучусь с проблемой уже неделю, но решения не нашел.
    Хотя я видел что не первый с ней столкнулся.
    У меня есть сайт на русском языке, мне нужно добавить на него украинский язык, только условие что бы был создан именно поддомен, не папка, для языка.
    Оригинальный сайт: prefemin-amaxa.com, он же указан в настройках адреса сайта и адреса вордпресс и поддомен, на котором будет укр версия этого сайта: ua.prefemin-amaxa.com
    Пользуюсь я редактором Gutenberg. Локализовать решил плагином WPML.
    Можно конечно сделать мультисайт для данной задачи, но с ним не очень удобно работать.
    Проблема в том что Gutenberg не сохраняет пост на поддомене ua.prefemin-amaxa.com, возникает ошибка CORS.
    Как я понял нужно разрешить использование кросс доменных запросов. Но как это сделать?
    Пытался добавить на разные хуки, решения которые нашел на форумах с использованием
    Access-Control-Allow-Headers. Но ничего не вышло.

    Выводится ошибка:

    Ошибка обновления. Возможно, что подключение к сети недоступно.

    а в консоле:
    Скриншот консоли
    Может знает кто, как решить данную проблему?
    Спасибо!

    Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • alexl1, привет.

    А что-то более тривиальное с использованием директив в .htaccess (если у вас Апач) не пробовали?

    @exmi , сервер nginx но директива .htaccess работает.
    Наверное какая то конфигурация с апачем.
    Пытался и через него заголовки задавать, но безрезультатно.

    @exmi Не уж толи придется сам сервер настраивать?

    Модератор Yui

    (@fierevere)

    ゆい

    https://ru.wordpress.org/plugins/search/CORS/
    можно попробовать выкрутиться из положения плагином

    я бы начала с этого — https://ru.wordpress.org/plugins/http-headers/

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

    Access to fetch at 'https://prefemin-amaxa.com/wp-json/wp/v2/taxonomies?context=edit&_locale=user' from origin 'https://ua.prefemin-amaxa.com' has been blocked by CORS policy: Request header field x-wp-nonce is not allowed by Access-Control-Allow-Headers in preflight response.

    Какой то он упертый.

    • Ответ изменён 1 год, 11 месяцев назад пользователем alexl1.

    Короче решил данную проблему следующим образом.

    Так как с заголовками не получилось, я сделал небольшой костыль.
    Плагин WPML создает поддомен, но запись можно редактировать как на поддомене так и на домене. Язык плагин передает в get параметре.
    Ссылка редактирования поста на укр языке выглядит так:
    prefemin-amaxa.com/...&action=edit&lang=uk
    И в таком случае она сохраняется нормально редактором Gutenberg.
    Но на нее можно перейти только вручную, так как находясь на странице нажимаешь, редактировать, переходит на тот же поддомен, на котором находился: ua.pre...

    А так выглядит (редактирование поста) ссылка на поддмомене:
    https://ua.prefemin-amaxa.com/...&action=edit&lang=uk
    И так не редактируется, так как другой поддомен.

    Я сделал перенаправление на основной домен, сохранив uri

    if($_SERVER['SERVER_NAME'] != $_SERVER['HTTP_HOST'] && is_admin()){
       $url = '//' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
       wp_redirect( $url);
       exit;
    }

    Всем спасибо за помощь.

    • Ответ изменён 1 год, 11 месяцев назад пользователем alexl1.
    • Ответ изменён 1 год, 11 месяцев назад пользователем alexl1.
    • Ответ изменён 1 год, 11 месяцев назад пользователем alexl1.

    alexl1, а сервер вы администрируете или хостер? Мне кажется, добить настройки было бы проще 🙂

    @exmi Хостер. Я с этими заголовками так замахался, что не хочется опять к ним возвращаться)
    Перенаправление работает только если заходишь в админку, т.е на сайте работает все с поддеменами, а когда нажимаешь редактировать или просто зайти в админ панель, то перенаправит на основной домен, на котором все работает)

    alexl1, понял 🙂

Просмотр 9 ответов — с 1 по 9 (всего 9)
  • Тема «Не работает Gutenberg с поддоменами. Ошибка CORS» закрыта для новых ответов.