问题描述
我知道 this question 和其他人,但是还没有找到一个确定的答案,如何一个域应该设置多点,以使 www 和 non-www 变体的行为正确。我相信我在 DNS 级别正确设置了通配符,并且建议的解决方案是为我的主站点添加 define( 'NOBLOGREDIRECT', 'http://www.example.com' );
,而不是在同一安装中的其他网络。
我使用的 「WP 多网络」 插件基于一些研究,导致我得出结论,如果我在一个 WordPress 安装上运行多个域,我应该使用多个网络,而不仅仅是多站点。我的网络和网站都添加了域字段中包含的 www
那么将没有 www
的裸机映射到多站点安装的正确方法是什么?是否需要插件?这应该在 Web 服务器配置中使用重写处理吗?
最佳解决方案
WordPress Multisite 可以默认处理不同的域 – 但不能使用别名域。每个站点的设置存储域。在默认安装上有一个子域或 folder-structure 。但您可以添加单个域。
Screenshots
例如,前两个站点具有相同的域 (默认来自安装),第三个站点使用不同的域,默认为外部域。最后一个是不同的域。不需要用于域映射的插件或自定义源。
以下是最后一个网站的设置与单独域的屏幕截图:
如果要减少每次登录的 cookie 检查,请将以下常量添加到 wp-config.php
。
define( 'COOKIE_DOMAIN', '' );
否则 WordPress 将始终将其设置为您的网络的 $current_site->domain
,这可能会导致某些情况下的问题。
使用别名进行域映射
如果您需要更深入的自定义,例如将别名映射到域,插件可以帮助您。 WordPress 核心希望将来能够提供域别别映射,但在此之前,您可以使用以下插件之一:
WWW 与 Non-WWW
我对 Non-WWW 和 WWW 网址没有必要的知识,但我认为这种情况略有不同。像 www.test.com 这样的域名具有子域名 www 。但是 www 是网络的同义词,通常不会被解释为一个子域。对于所有的客户,我从 WWW 地址重写 Non-WWW 。
提示创建一个新网站
在此过程中,要创建新站点,无法在输入字段中添加外部域。添加一个随机值,创建站点后,使用编辑的可能性来添加外部站点。
参考文献
注:本文内容整合自 Google/Baidu/Bing 辅助翻译的英文资料结果。如果您对结果不满意,可以加入我们改善翻译效果:薇晓朵技术论坛。