Php Wordpress multisite具有不同域的相同登录名

Php Wordpress multisite具有不同域的相同登录名,php,wordpress,session,cookies,Php,Wordpress,Session,Cookies,我已经基于两个不同的域配置了wordpress多站点:website.net和website.com 除登录功能(未同步)外,一切正常。 如果我登录了website.net并且想访问website.com仪表板,我必须再次登录,前端也是如此。 我目前正在使用wordpress 5.3.2 这是我在wp-config.php中的多站点配置 /* Multisite */ define('MULTISITE', true); define('SUBDOMAIN_INSTALL', false);

我已经基于两个不同的域配置了wordpress多站点:website.net和website.com

除登录功能(未同步)外,一切正常。 如果我登录了website.net并且想访问website.com仪表板,我必须再次登录,前端也是如此。 我目前正在使用wordpress 5.3.2

这是我在wp-config.php中的多站点配置

 /* Multisite */
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', false);
define('DOMAIN_CURRENT_SITE', 'website.net'); 
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);  

谢谢你的帮助

在这个话题上似乎总是有点困惑。也许WordPress可以在这一过程中更好地指导其用户。尽管如此,我认为多站点并不打算用于TLD

因此,首先,我会将其配置为子域网络配置

以下是WordPress安装的基本目录中
wp config.php
文件的配置示例:

/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
define( 'DOMAIN_CURRENT_SITE', 'www.primary-domain.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
# BoF WordPress

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

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

# EoF WordPress
然后,以下是您的
.htaccess
文件作为子域配置的基本配置,位于WordPress安装的基本目录中:

/* Multisite */
define( 'WP_ALLOW_MULTISITE', true );
define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
define( 'DOMAIN_CURRENT_SITE', 'www.primary-domain.com' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );
# BoF WordPress

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

# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]

# EoF WordPress
现在,为了让TLD正常工作,我必须对
wp config.php
文件进行一些额外的配置,如下所示:

define( 'COOKIE_DOMAIN', '' );
define( 'ADMIN_COOKIE_PATH', '/' );
define( 'COOKIEPATH', '/' );
define( 'SITECOOKIEPATH', '/' );
这就是WordPress的特定配置

就我个人而言,我希望网络中的主域有一个Apache虚拟主机,然后用别名域配置该虚拟主机。每个别名域都是网络中的其他站点之一

不管你最终如何调整你的设置,你需要每个域的DNS解析到同一个web服务器,并且每个域都指向主域与WordPress一起安装的同一个目录。网络中的每个域都需要指向具有DNS记录的同一web服务器,并为WordPress使用的文件共享相同的目录路径

一旦您按照上面的讨论正确地配置和设置了所有内容。登录WordPress管理区域并导航到网络管理区域,将新站点添加到网络中

当你去添加网站时,它会强制你添加网站,就像它是你主域名下的子域一样。随它去吧。输入临时内容

添加站点后,请在网络中的站点列表下查找该站点。单击该特定站点上的“编辑”。现在,您可以完全100%更改该网站的域名。此时,您将输入此TLD站点的实际域名

我知道这样做有点诡计,但它是有效的,你不需要使用任何插件


以下是原始答案:

Hi-Dlk,已尝试使用此答案,但未成功:我在尝试访问已创建的子网站(例如website.com/de/wp-admin)时遇到重定向错误循环。我认为这个问题可能与cookie配置或会话有关。如有任何提示,将不胜感激。谢谢。turn
define('SUBDOMAIN\u INSTALL',false)
并打开wp-config.php文件,在您为创建网络而添加的其他代码之后添加此行:
define('COOKIE\u DOMAIN',$\u SERVER['HTTP\u HOST')按建议尝试,仍然没有成功。相同错误:重定向过多。/*多站点*/define('WP\u ALLOW\u Multisite',true);定义('MULTISITE',true);定义('SUBDOMAIN_INSTALL',false);定义('DOMAIN\u CURRENT\u SITE'、'website.net');定义('PATH\u CURRENT\u SITE','/');定义('SITE\u ID\u CURRENT\u SITE',1);定义('BLOG\u ID\u CURRENT\u SITE',1);定义(‘COOKIE_域’,“”);定义('COOKIE\u域',$\u服务器['HTTP\u主机]);定义('ADMIN_COOKIE_PATH','/');定义('COOKIEPATH','/');定义('SITECOOKIEPATH','/');从答案中删除所有关于cookies的建议,并添加我在之前评论中的建议!清理你的饼干,试试看。如果仍然无法工作,请尝试此插件