Multisite Login problem

时间:2014-08-31 作者:Katy

自从我将我的多站点网络从3.8升级到3.9后,我就无法通过主博客登录。它是一个子目录安装,而不是子域。

当我尝试登录到主站点时:http://uspress.avenues.org/wp-login.php, 获取消息“此用户已选择删除其帐户,并且内容不再可用。”这不是真的。据我所知,你不能删除主网站,我已经检查了数据库,网站被设置为公共网站。

如果转到子网站的登录页,我可以这样登录:http://uspress.avenues.org/kgarnier/wp-login.php

主站点的主页是可以访问的,但是如果我尝试转到它的另一个页面,但我没有登录,我会收到相同的错误消息。如果我登录,我会看到标准的Wordpress 404错误页面,但奇怪的是,它会切换到另一个已删除的子网站(它在被删除之前有相同的行为,我在尝试修复此问题时删除了它)。

我的wp配置文件如下所示:

/* Multisite */
define(\'WP_ALLOW_MULTISITE\', true );
define(\'MULTISITE\', true);
define(\'SUBDOMAIN_INSTALL\', false);
define(\'DOMAIN_CURRENT_SITE\', \'uspress.avenues.org\');
define(\'PATH_CURRENT_SITE\', \'/\');
define(\'SITE_ID_CURRENT_SITE\', 1);
define(\'BLOG_ID_CURRENT_SITE\', 1);
define(\'WP_DEFAULT_THEME\', \'uspress\');
我还添加了另一个网站建议的cookie清除代码:

define(\'ADMIN_COOKIE_PATH\', \'/\');
define(\'COOKIE_DOMAIN\', \'\');
define(\'COOKIEPATH\', \'\');
define(\'SITECOOKIEPATH\', \'\');
我的。htaccess文件如下所示:

# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\\.php$ - [L]

# add a trailing slash to /wp-admin
RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\\.php)$ $2 [L]
RewriteRule . index.php [L]

# END WordPress
还有一件奇怪但可能不相关的事情:在数据库的blog\\u versions表中,主站点有db\\u版本26692,其他所有站点都有27916。

1 个回复
SO网友:Rarst

这是来自的相关代码ms_site_check():

$blog = get_blog_details();

// truncated

if ( \'1\' == $blog->deleted ) {
    if ( file_exists( WP_CONTENT_DIR . \'/blog-deleted.php\' ) )
        return WP_CONTENT_DIR . \'/blog-deleted.php\';
    else
        wp_die( __( \'This user has elected to delete their account and the content is no longer available.\' ), \'\', array( \'response\' => 410 ) );
}
所以,虽然网站可能并没有被真正删除,但出于某种原因,WordPress很有信心会被删除。我首先要看的是正在生成/运行的DB查询和返回的数据。

结束