Настройка 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 Brian Pearsall
Привет, Wayne, это первое, что я попробовал. Однако ни удаление этих определений, ни установка других значений не помогли восстановить работу сайтов. У меня был ограниченный успех с использованием sunrise.php... но так и не получилось войти в систему. Я работаю на Google Cloud VM. В итоге я восстановил снимок диска и оставил надежды, что нативное мультидоменное отображение WPMU может работать. Я вернулся к использованию плагинов.
Adal
Поскольку cdn.mydomain.com не является частью вашей сети WordPress, он не будет затронут вашими настройками.
Константа COOKIE_DOMAIN должна использоваться только в том случае, если вы хотите обслуживать куки с одного домена для всех сайтов в вашей сети. Если вы опустите эту константу или установите её значение пустым, куки будут принадлежать домену, с которого они запрашиваются. Это конфигурация, которую следует использовать для мультисайтовых/сетевых окружений, особенно когда речь идет о разных доменах.