在得知裸露的WP域将拥有无cookie子域'如果CDN是自托管的,我需要/必须将 MultiSite 上的根网站切换为www。
我跟着this guide跟着:
编辑wp-config.php并进行更改 从 define('DOMAIN_CURRENT_SITE','example.com'); 至 define('DOMAIN_CURRENT_SITE','www.example.com');
获取搜索&从https://github.com/interconnectit/Search-Replace-DB替换脚本,并阅读网站上有关如何使用它的说明。
一切都按预期工作,但访问网络管理员信息中心。
所有站点的仪表板(使用子域,而不是文件夹)和永久链接结构在根站点(www.example.com)和子域站点(子域)中正常运行example.com)的情况。但是,当我尝试访问网络管理员(即http://www.example.com/wp-admin/network/)时,我获得了302重定向循环。
同样,所有子域网站的仪表板都能正常运行,但网络仪表板却无法正常运行。
我在Google上做了一些窥探,在这里做了SO但没有任何工作(或适合这种情况)。我认为这可以在.htacces中修复,但我不是那样的,所以任何帮助或建议都会非常感激!!
以下是我的配置:
htaccess的:
. . .
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# Disable trace and track
RewriteCond %{REQUEST_METHOD} ^TRACE
RewriteRule .* - [F]
# Forbid Proxy comment posting
RewriteCond %{REQUEST_METHOD} =POST
RewriteCond %{HTTP:VIA}%{HTTP:FORWARDED}%{HTTP:USERAGENT_VIA}%{HTTP:X_FORWARDED_FOR}%{HTTP:PROXY_CONNECTION} !^$ [OR]
RewriteCond %{HTTP:XPROXY_CONNECTION}%{HTTP:HTTP_PC_REMOTE_ADDR}%{HTTP:HTTP_CLIENT_IP} !^$
RewriteCond %{REQUEST_URI} !^/(wp-login.php|wp-admin/|wp-content/plugins/|wp-includes/).* [NC]
RewriteRule .* - [F,NS,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]
</IfModule>
# END WordPress
. . .
...在我的config.php中:
. . .
/* Multisite */
define('MULTISITE', true);
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'www.example.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);
define('ADMIN_COOKIE_PATH', '/');
define('COOKIE_DOMAIN', '');
define('COOKIEPATH', '');
define('SITECOOKIEPATH', '');
. . .
答案 0 :(得分:1)
将以下代码添加到:
/wp-admin/network/admin.php
echo "current_blog domain: ".$current_blog->domain."<br>";
echo "current_site domain: ".$current_site->domain."<br>";
echo "current_blog path: ".$current_blog->path."<br>";
echo "current_site path: ".$current_site->path."<br>";
exit;
检查值是否相同,这可能是问题所在。 也许你需要删除&#34; www。&#34; at&#34; DOMAIN_CURRENT_SITE&#34;