无法在多站点设置中登录Wordpress的仪表板

时间:2014-01-06 18:08:46

标签: wordpress varnish

从昨天开始,我无法再登录Wordpress网站的仪表板。我可以登录主站点。但是,当我从主站点转到多站点设置的另一个站点的仪表板时,我会看到一个登录屏幕。当我登录时,我收到错误:

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

我正在使用WordPress 3.8。它在Varnish后面运行,也许这就是它造成的。我已经覆盖了wp-login.php文件。我有网络禁用所有插件。唯一暂时有用的是将以下内容添加到wp-config.php:

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

然后,我可以转到其他站点的仪表板,而无需输入我的登录详细信息。但是,当我评论上述行时,发生了同样的错误。

我的Varnish default.vcl文件是:

backend default {
  .host = "127.0.0.1";
  .port = "4040";
}

backend tomcat {
  .host = "127.0.0.1";
  .port = "8080";
}

#Enable compression
sub vcl_recv {
  if (req.http.Accept-Encoding) {
    if (req.url ~ "\.(jpg|jpeg|png|gif|gz|tgz|bz2|tbz|mp3|ogg)$") {
      # No point in compressing these
      remove req.http.Accept-Encoding;
    } elsif (req.http.Accept-Encoding ~ "gzip") {
      set req.http.Accept-Encoding = "gzip";
    } elsif (req.http.Accept-Encoding ~ "deflate" && req.http.user-agent !~ "MSIE") {
      set req.http.Accept-Encoding = "deflate";
    } else {
      # unknown algorithm
      remove req.http.Accept-Encoding;
    }
  }
}

有人知道解决方案吗?感谢。

亲切的问候,

尼克

2 个答案:

答案 0 :(得分:4)

我找到了解决问题的方法,但我不知道它是否有任何副作用。我在wp-config.php文件中添加了一行:

define('COOKIE_DOMAIN', '');

当我现在切换到另一个域(FQDN)的仪表板时,我进入了登录屏幕,登录后,我从几个域的来回切换来回保持登录状态。

答案 1 :(得分:0)

确保您已为主站点定义了正确的域:

define('DOMAIN_CURRENT_SITE', 'yourmainsite.com');

它位于wp-config.php