Настройка COOKIE_DOMAIN и возникающие сложности
Я обновляю свой сайт на WordPress. Я использую поддомен cdn
для CDN, и он должен быть без куки-файлов.
В настоящее время мой сайт представляет собой мульти-сеть мультисайтов (оба установлены в подкаталогах), где поддомен www
размещает мой основной музыкальный проект, а поддомен photo
- фотографический проект.
Для такого типа мульти-сети я использую плагин: https://github.com/stuttter/wp-multi-network
Мне нужно использовать единый вход (Single Sign-on). И это приводит к путанице при настройке COOKIE_DOMAIN
в wp-config.php
. Я могу установить значение, как указано в документации плагина:
define( 'COOKIE_DOMAIN', 'mydomain.com' );
но я знаю, что это приведет к тому, что куки будут отправляться также с cdn.mydomain.com
.
Как можно настроить COOKIE_DOMAIN
, чтобы куки отправлялись только с двух поддоменов www
и photo
?
Или мне нужно использовать другое доменное имя только для CDN?

Я долго боролся с использованием мультисайтовых доменов в нативной WordPress версии 4.x.
Несмотря на найденные рекомендации, что эти строки исправляют ошибку, ни одна из этих настроек не сработала:
//define('COOKIE_DOMAIN', false);
//define( ‘COOKIE_DOMAIN’, $_SERVER[ ‘HTTP_HOST’ ] );
В итоге я добавил следующие строки кода, и это сработало идеально...
define('ADMIN_COOKIE_PATH', '/');
define('COOKIE_DOMAIN', '');
define('COOKIEPATH', '');
define('SITECOOKIEPATH', '');
Не уверен, подойдет ли это вам?
- Я публикую это в основном для будущих искателей, у которых возникнут аналогичные проблемы.

Если это сломало ваш сайт, просто удалите код и войдите заново, установив исходные значения. Этот код просто устанавливает значения cookies, он не затрагивает базу данных и т.д. Примечание: мой сайт работает в корневом каталоге (domain.com/), так что если ваш сайт в подкаталоге (domain.com/wordpress), вам нужно установить cookiepath как /wordpress/

Привет, Wayne, это первое, что я попробовал. Однако ни удаление этих определений, ни установка других значений не помогли восстановить работу сайтов. У меня был ограниченный успех с использованием sunrise.php... но так и не получилось войти в систему. Я работаю на Google Cloud VM. В итоге я восстановил снимок диска и оставил надежды, что нативное мультидоменное отображение WPMU может работать. Я вернулся к использованию плагинов.

Поскольку cdn.mydomain.com
не является частью вашей сети WordPress, он не будет затронут вашими настройками.
Константа COOKIE_DOMAIN
должна использоваться только в том случае, если вы хотите обслуживать куки с одного домена для всех сайтов в вашей сети. Если вы опустите эту константу или установите её значение пустым, куки будут принадлежать домену, с которого они запрашиваются. Это конфигурация, которую следует использовать для мультисайтовых/сетевых окружений, особенно когда речь идет о разных доменах.
