Cookies em vários sites nos quais os sites da rede têm seu próprio nome de domínio

14

Decidi integrar vários sites independentes do Wordpress em uma única instalação multisite.

Criei uma nova instalação multissite com subdiretórios, criei um site de rede MU com URL de subdiretório e exportei o conteúdo do site autônomo original, depois importei esse conteúdo para o site MU do subdiretório.

Em seguida, removi o site autônomo original do cPanel e defina o nome de domínio do site MU como o nome de domínio original.

O site é carregado com seu nome de domínio original, mas quando tento fazer login em domainname.com/wp-admin (usando as credenciais de usuário de administrador de rede do novo local), recebo um erro:

ERRO: Os cookies estão bloqueados ou não são suportados pelo seu navegador. Você deve ativar os cookies para usar o WordPress.

Os cookies estão ativados no Chrome.

Tentei adicionar o seguinte a wp-config.php:

define('COOKIE_DOMAIN', false);

mas a questão permanece.

O mesmo problema ocorre se eu usar o WP Migrate DB Pro, para atrair um site autônomo para um site de subdiretório MU, excluir o site autônomo do cPanel e definir a URL do site de subdiretório MU como o nome de domínio do site autônomo original. O front-end do site é bom, mas não consigo fazer login no admin.

Ajuda apreciada.

Steve
fonte
Obrigado @bueltge, tentei adicionar, define('COOKIE_DOMAIN', false);mas fazer login em um subsite com seu próprio domínio não funciona - ele volta para a mesma tela de login.
21317 Steve Steve
@ Steve, você deve tentar especificamente o que a resposta diz e defini-la como uma string vazia, ou seja define('COOKIE_DOMAIN', '');. Booleano falsepode ou não ter o mesmo significado que uma string vazia '', dependendo do aplicativo.
bosco
Com MU, você quer dizer que está usando um plug-in de mapeamento de domínio? Obrigado.
Greeso 23/03
Não @Greeso, usando a funcionalidade de URL do site embutida.
23617 Steve Steve

Respostas:

22

Primeiro Limpar cache do navegador (incluindo cookies) + cache do servidor a partir de plugins de cache etc.

Em seguida, defina o seguinte no seu wp-config.phparquivo:

define('ADMIN_COOKIE_PATH', '/');
define('COOKIE_DOMAIN', '');
define('COOKIEPATH', '');
define('SITECOOKIEPATH', ''); 

Além disso, você pode conferir a resposta AQUI :

define('WP_ALLOW_MULTISITE', true);
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'your-domain.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
define('SUNRISE', 'on');

Se ainda assim falhar, leia esta resposta ou entre em contato com o suporte do servidor, pode haver um problema de configuração no servidor.

Scott
fonte
Oi Scott. Um problema semelhante surgiu em outro site de MU. Adicionei as constantes acima a wp-config.php, mas neste outro site da MU childsitedomain.com/wp-login.phpproduz o erro. The constant "COOKIE_DOMAIN" is defined (probably in wp-config.php). Please remove or comment out that define() line.Alguma idéia de como lidar com essa situação?
27617 Steve Steve
Se eu comentar essa declaração, recebo o erro após fazer login no site filho:ERROR: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress.
Steve
Eu levantei esse problema em uma nova pergunta .
27517 Steve Steve
7

Usando o WordPress versão 4.9.4.

Eu estava recebendo o erro de cookie e examinei várias opções de ajuda e, finalmente, o resolvi usando uma mistura da correção de Scott:

Nota: Eu não fiz nenhuma limpeza de cache de cookies

a) Edição da entrada de sunrise.phplinha wp-config.php(eu estava usando o mapeamento de domínio nativo, removi as alterações de instalação do plugin MU que eu havia feito)

b) Ajustado wp-config.phppara

/* Multisite */

define('WP_DEBUG', false);

define( 'WP_ALLOW_MULTISITE', true ); 

define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'www.mysite.com.au');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
/* define( ‘COOKIE_DOMAIN’, $_SERVER[ ‘HTTP_HOST’ ] ); */

define('ADMIN_COOKIE_PATH', '/');
define('COOKIE_DOMAIN', '');
define('COOKIEPATH', '');
define('SITECOOKIEPATH', '');

/* That's all, stop editing! Happy blogging. */
user140609
fonte
3

Finalmente, depois de horas, literalmente, de solução de problemas, consegui resolver isso na instância do AWS Lightsail Bitnami Multisite Wordpress (WordPress 5.0.4) executando o seguinte:

  1. Verifique se o plug-in de mapeamento de domínio da WPMU está desativado
  2. Edite /opt/bitnami/apps/wordpress/htdocs/wp-config.php ...

    uma. Adicione o seguinte:

     define('ADMIN_COOKIE_PATH', '/');
     define('COOKIE_DOMAIN', '');
     define('COOKIEPATH', '');
     define('SITECOOKIEPATH', '');
    
     /* That's all, stop editing! Happy blogging. */

    b. Comentário fora:

    // define('SUNRISE', 'on');

Após essas alterações, o login foi bem-sucedido - sem erros. Obrigado pela contribuição de todos. Se não fosse por isso, eu ainda estaria coçando a cabeça.

Eu encontrei a resposta aqui:

https://docs.bitnami.com/aws/apps/wordpress-multisite/configuration/configure-wordpress-multisite

Essa funcionalidade de mapeamento de domínio está incluída no WordPress Multisite desde a v4.5 . Se você estiver usando uma versão mais antiga, precisará do plug-in de mapeamento de domínio MU do WordPress.

Portanto, parece que o plug-in WPMU Domain Mapping é desnecessariamente incluído no pacote AWS Lightsail Bitnami Multisite.

George Drew
fonte
Obrigado por isso! Funcionou para mim sem desabilitar o plug-in WPMU Domain Mapping. Também não encontrei o SUNRISE em lugar nenhum, então também não precisei comentar isso.
Monarch Wadia
2

Acabei de solucionar um problema semelhante com o subdomínio multisite.

Com:

define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);

O site ainda estava lançando um erro de cookie e, em alguns casos, tentando o que foi sugerido acima .........

define('ADMIN_COOKIE_PATH', '/');
define('COOKIE_DOMAIN', '');
define('COOKIEPATH', '');
define('SITECOOKIEPATH', ''); 

Isso causou um erro diferente ao excluir as definições de referência "COOKIE_DOMAIN" ao visitar os subsites.

Finalmente, consegui fazer o login depois de me certificar de que ambos foram definidos logo acima das informações de rede multissite

define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);
define('COOKIE_DOMAIN', '');

Tente garantir que ambos estejam definidos. Eu espero que isso ajude.

Ruben Apolinar
fonte
Para esclarecer acima, parece funcionar apenas com define ('COOKIE_DOMAIN', '');
Ruben Apolinar
1

Comentei define ('NASCER DO SOL', 'on');

/ * define ('NASCER DO SOL', 'ligado'); * /
define ('COOKIE_DOMAIN', $ _SERVER ['HTTP_HOST']);
define ('COOKIE_DOMAIN', '');

Então, não vejo a mensagem de erro abaixo:

ERRO: Os cookies estão bloqueados ou não são suportados pelo seu navegador. Você deve ativar os cookies para usar o WordPress.

O login também começou a funcionar.

Joone Hur
fonte
1

Então, eu estava tendo esse problema também e me deparei com muitas soluções como as mencionadas aqui, mas elas não funcionaram.

O que funcionou foi simplesmente adicionar o seguinte à configuração multisite no wp-config:

define('COOKIE_DOMAIN', false);

para que a seção em wp-config fique assim:

define( 'WP_ALLOW_MULTISITE', true );
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'your-site.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
define('COOKIE_DOMAIN', false);

postando aqui para que outros possam encontrá-lo e gastar menos tempo batendo a cabeça contra a mesa do que eu.

ronaut
fonte
0
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
//define('DOMAIN_CURRENT_SITE', 'masterdigitalservices.com');
//define('PATH_CURRENT_SITE', '/');
//define('SITE_ID_CURRENT_SITE', 1);
//define('BLOG_ID_CURRENT_SITE', 1);

Aqui está o meu novo wp-config. Parece que foi codificado para ser um site específico e não estava permitindo que outros domínios funcionassem - apenas subdomínios. Ótimas respostas aqui.

Andy
fonte
0

Eu estava tendo esse problema também e nada do que fiz ajudou. Tentei no Microsoft Edge e não obtive o erro.

Então, no meu caso, pelo menos, foi apenas o Google Chrome que causou o problema.

serpente
fonte
0

Estranhamente, funcionou para mim (em mais de um multisites) definir SUBDOMAIN_INSTALL como false. Para ser sincero, não tive tempo de investigar mais por que ...

define('SUBDOMAIN_INSTALL', false);

Martin de WP-Stars.com
fonte
0

Isso foi corrigido para mim Eu não havia configurado o WordPress totalmente para o novo nome de domínio. Eu criei meu site subdomínio.domínio.com . Depois, queria permanecer como novo domínio.com sobre subdomínio.domínio.com Isso era necessário

  1. Rede WordPress > admin> site , mude o site para um novo nome (o que eu já havia feito, o site estava funcionando)
  2. Rede WordPress > administrador> configurações> domínios , adicione um novo nome ao ID do site e marque sim para o domínio principal (para indicar que esse nome é o nome principal). Para encontrar o ID do site, você pode passar o mouse pela rede> admin> site, que informará em qual ID do site você está trabalhando. Espero que isso ajude qualquer pessoa que estava recebendo os cookies a mensagens bloqueadas ou não suportadas ao tentar fazer o login. Cumprimentos SamTapsell
sam tapsell
fonte
0

Consegui resolver o problema depois de adicionar o abaixo em wp-config.php. Referência

define( 'COOKIEPATH', preg_replace( '|https?://[^/]+|i', '', get_option( 'home' ) . '/' ) );
define( 'SITECOOKIEPATH', preg_replace( '|https?://[^/]+|i', '', get_option( 'siteurl' ) . '/' ) );
define( 'ADMIN_COOKIE_PATH', SITECOOKIEPATH . 'wp-admin' );
define( 'PLUGINS_COOKIE_PATH', preg_replace( '|https?://[^/]+|i', '', WP_PLUGIN_URL ) );
Baga
fonte
-1

Por favor, tente adicionar o seguinte ao seu arquivo wp-config.php

Remova também todos os cookies do seu navegador antes de testar

define( 'COOKIE_DOMAIN', $_SERVER[ 'HTTP_HOST' ] );
Dean Jansen
fonte
Quando fiz essa alteração, não consegui entrar em nenhum site, incluindo o site principal.
Steve