我决定将多个独立的Wordpress网站集成到一个多站点安装中。

我创建了一个带有子目录的全新多站点安装,创建了具有子目录URL的MU网络站点,并从原始的独立站点中导出了内容站点,然后将该内容导入子目录MU站点。

然后我从cPanel中删除了原始的独立站点,并将MU站点的域名设置为原始域名。

该网站使用其原始域名加载,但是当我尝试登录到domainname.com/wp-admin(使用全新的多站点的网络管理员用户凭据)时,收到错误消息:


错误:浏览器阻止或不支持Cookies。您必须
启用cookie才能使用WordPress。


在Chrome中启用Cookie。

我尝试将以下内容添加到wp-config.php中:

define('COOKIE_DOMAIN', false);


,但问题仍然存在。

如果我使用WP Migrate DB Pro将独立网站插入MU子目录站点,也会出现相同的问题,然后从cPanel中删除独立站点,然后将MU子目录站点的URL设置为原始独立站点的域名。该网站的前端加载正常,我只是无法登录到管理员。

帮助表示感谢。

评论

您是否看到过这个答案如何在没有插件的多个域上设置Wordpress Multisite?

感谢@bueltge,尝试添加define('COOKIE_DOMAIN',false);但是登录到具有自己域的子站点不起作用-它会循环回到相同的登录屏幕。

@Steve,您应该专门尝试答案的内容并将其设置为空字符串,即define('COOKIE_DOMAIN','');.布尔值false可能与空字符串''的含义相同或不同,具体取决于应用程序。

通过MU,您是说您正在使用域映射插件吗?谢谢。

否@Greeso,使用内置的网站URL功能。

#1 楼

首先清除浏览器缓存(包括cookie)+来自缓存插件等的服务器缓存。

然后在wp-config.php文件中设置以下内容:

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


另外,您可以在此处查看答案:

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');


如果仍然失败,请阅读此答案或与服务器支持联系,否则可能是配置问题。服务器。

评论


嗨,斯科特。在另一个MU站点上也出现了类似的问题。我已经在wp-config.php中添加了上述常量,但是在另一个MU网站上,childsitedomain.com/wp-login.php产生了错误。常量“ COOKIE_DOMAIN”已定义(可能在wp-config.php中)。请删除或注释掉define()行。关于如何解决这种情况有什么想法?

–史蒂夫
17 Mar 27 '10:53



如果我注释掉该语句,则登录到子站点后会收到错误消息:错误:Cookies被浏览器阻止或不支持。您必须启用Cookie才能使用WordPress。

–史蒂夫
17 Mar 27 '17 at 10:56

我在一个新问题中提出了这个问题。

–史蒂夫
17 Mar 27 '17 at 11:03

#2 楼

使用WordPress版本4.9.4。

我遇到了cookie错误,并查看了各种帮助选项,最终通过混合使用Scott的修复程序解决了它:

注意:没有执行任何Cookie缓存清除操作

a)在sunrise.php中删除wp-config.php行(我正在使用本机域映射,因此删除了我对MU插件安装所做的更改)

b)将我的wp-config.php调整为

/* 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. */


#3 楼

经过数小时的工作,从字面上看,终于可以通过执行以下操作在AWS Lightsail Bitnami多站点Wordpress(WordPress 5.0.4)实例上解决此问题:


确保WPMU域映射插件已禁用

编辑/opt/bitnami/apps/wordpress/htdocs/wp-config.php ...

a。添加以下内容:

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

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


b。注释掉:

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



完成这些更改后,登录成功-没有错误。感谢大家的投入。如果不是那样的话,我仍然会挠头。

我确实在这里找到了答案:

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


此域映射功能自v4.5起包含在WordPress Multisite中。如果您使用的是旧版本,则将需要WordPress MU域映射插件。


因此,WPMU域映射插件似乎不必要地包含在AWS Lightsail Bitnami Multisite软件包中。

评论


谢谢你!它对我有用,而没有禁用WPMU域映射插件。我也没有在任何地方找到SUNRISE,因此也不必对此发表评论。

–瓦迪亚君主
19年8月19日在22:08

#4 楼

我刚刚完成了子域多站点类似问题的故障排除。

使用:

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


该站点仍然抛出Cookie错误,并且在某些情况下尝试上述建议..... ....

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


这导致在访问子站点时删除引用“ COOKIE_DOMAIN”的定义时出现了不同的错误。

最后确定两个都位于多站点网络信息上方之后,我才能够登录

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


尝试确保这些都位于两者都定义。希望对您有所帮助。

评论


为了澄清以上内容,似乎只需要define('COOKIE_DOMAIN','');就可以了。

– Ruben Apolinar
17年12月6日在17:22

它可以工作,但是却破坏了帖子预览...我得到:对不起,您不可以预览草稿。

–亚历山大·罗斯(Alexandros)
1月7日13:36

#5 楼

我注释掉了define('SUNRISE','on');

/* define('SUNRISE', 'on'); */
define('COOKIE_DOMAIN', $_SERVER['HTTP_HOST']);
define('COOKIE_DOMAIN', '');


然后,我没有看到以下错误消息:

ERROR: Cookies are blocked or not supported by your browser. You must enable cookies to use WordPress.


登录也开始工作。

#6 楼

因此,我也遇到了这个问题,遇到了很多解决方案,例如这里提到的解决方案,但是它们没有用。

起作用的只是将以下内容添加到wp-中的多站点配置中:配置:

define('COOKIE_DOMAIN', false);


,以便wp-config中的部分如下所示:

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);


发布在这里这样其他人就可以找到它,并比我花费更少的时间将头撞在桌子上。

#7 楼

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);


这是我的新wp-config。看起来它被硬编码为特定站点,并且没有让其他域起作用-仅子域。很好的答案。

#8 楼

我也遇到了这个问题,但我没有做任何帮助。
在Microsoft Edge中进行了尝试,但没有收到错误。

所以至少就我而言,这仅仅是导致问题的Google Chrome。

#9 楼

奇怪的是,将SUBDOMAIN_INSTALL设置为false对我(在多个站点上)起作用。老实说,我没有时间进一步调查原因...

define('SUBDOMAIN_INSTALL', false);

#10 楼

此问题已为我解决了
我没有为新域名完全设置WordPress。
我创建了站点subdomain.domain.com
,然后我想保留为newdomain.com的子域名.domain.com
这是必需的


WordPress网络>管理员>网站,将网站更改为新名称(我已经做过,网站正在运行)
WordPress网络>管理员>设置>域,将新名称添加到站点ID中,并在主域中勾选是(表明此名称是主名称)。
要查找站点ID,您可以将鼠标悬停在网络>管理员>该网站会说出您正在使用的站点ID。
希望这可以帮助尝试登录的任何获取Cookie的人被阻止或不受支持的消息
最好的祝福
SamTapsell


#11 楼

在wp-config.php中添加以下内容后,我能够解决此问题。参考

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 ) );


#12 楼

我解决了这个问题:

将wp-config.php中的DOMAIN_CURRENT_SITE设置更改为:

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


所以我的设置是这样:

define( 'WP_ALLOW_MULTISITE', true );
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', $_SERVER['HTTP_HOST']);
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);


然后我可以登录url上的所有多站点网站,例如web1.example.com/wp-admin或web2.example.com/wp-admin。

#13 楼

请尝试将以下内容添加到wp-config.php文件中。

在测试之前,还请从浏览器中删除所有cookie

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


评论


进行更改后,我无法登录任何网站,包括主网站。

–史蒂夫
17年3月17日在18:19