WordPress多站点功能开启详细设置教程(包含Apache和Nginx伪静态规则)

2020年2月25日 评论 189

WordPress多站点功能开启详细设置教程,WordPress多站点功能为WordPress3.0后的新特性,请注意版本问题。

  开启后有什么效果?

启动WordPress的多站点功能后,您可以:

1、可搭建多个独立的站点。各站点之间互补影响,对于每一个站点来说,根没有开启多站点功能的WordPress没有太大区别。

2、可为每个站点设定独立的域名。例如:您有域名xxx.com,您想要搭建两个网站分别用于博客A和博客B,那么您可以为博客A设置域名为a.xxx.com,博客B设置域名为b.xxx.com。当然,如果您有两个不同的域名,您也可以设置为博客A为a.com,博客B为b.com。

3、统一管理插件及主题。开启多站点功能后,您将可以统一管理所有站点的插件与主题,只需要在后台网络管理中安装一次,所有子站点都可以使用。

  如何开启?

1、检查WordPress版本。

开启多站点需要将WordPress升级至3.0版本以上。

2、停用所有插件。

包括WordPress中自带的插件,总之将您所能看见的所有插件都停用就对了。

3、开启网络配置。

编辑网站根目录下的 wp-config.php文件,在其中添加如下内容:

 define('WP_ALLOW_MULTISITE', true);    // 开启多站点功能
 define( 'COOKIE_DOMAIN', '' );         // 清除cookie限制,否则开启多站点后登录网站后台会提示“错误:Cookies被阻止或者您的浏览器不支持。要使用WordPress,您必须启用Cookies。

注意:不要添加到最后,您应该将其添加到下面的代码之前:

if ( !defined('ABSPATH') )
  define('ABSPATH', dirname(__FILE__) . '/');
  require_once(ABSPATH . 'wp-settings.php');

添加完成后,刷新后台,再次登录应该可以看到“工具”菜单下面多了一个“配置网络”选项。

4、确定您开启多站点的方式

WordPress有两种开启多站点的方式:子域名和子目录,区别如下:

子域名:使用不同的域名来访问您的子站点。如:a.xxx.com和b.xxx.com。

当然,不仅限于子域名,不同的域名也是可以的,如:www.a.com和www.b.com。

注:开启子域名需要将主站的域名的泛域名解析开启,即添加一条形如*.xxx.com的A类型域名解析记录。

子目录:使用不同的子目录来访问您的子站点。如:www.xxx.com/a/ 和www.xxx.com/b/ 。

5、如果您使用的是子域名方式,检查您的WordPress域名

请确保您的WordPress域名设置为根域名,即不带www的域名,如:a.com。

设置方法:后台菜单栏中找到“设置->常规”,修改其中的“WordPress地址(URL)”。注意与“站点地址(URL)”的区别,“站点地址(URL)”表示浏览器输入什么网址才能访问本站点。

因为开启多站点后,将使用当前站点的域名作为跟域名(最重要的是后期不能该),后期的网络管理地址也将是它,其他的子站点的域名(与主站同根的子域名)将以此域名为根做子域名。

如:当前域名为xxx.com,那么创建完成后,xxx.com将是管理的网址(当然也同样具备博客站点功能,只不过管理所有子站的网址也在xxx.com上),而您创建的其他子站点域名应当是a.xxx.com、b.xxx.com等。

又如:当前域名不小心设置为www.xxx.com,那么创建完成后,www.xxx.com将是所有子站管理的网址,而您创建的其他子站点域名应当是a.www.xxx.com、b.www.xxx.com等,这显然不是我们所希望的。

6、开启多站点

前面的步骤都确认无误之后,填写上您的网络标题(管理所有站点的后台界面所显示的标题)、管理员邮箱(可不填),然后点击安装。

WordPress检查无误后,会生成两段代码,按照提示将代码加入到网站对应的文件中,建议先对修改的文件进行备份。两段代码类似如下(这是我网站生成的,在这里只是举例,你们自己要复制你们自己生成的代码,切记!!):

1、将以下内容加入到在你的网站根目录下的wp-config.php文件,加在/* 到此为止,别再修改了!开始写博客吧。 */这行上方:(将xxx.com改成你的网址即可)

define('MULTISITE', true);   
define('SUBDOMAIN_INSTALL', true);
define('DOMAIN_CURRENT_SITE', 'xxx.com');
define('PATH_CURRENT_SITE', '/');
define('SITE_ID_CURRENT_SITE', 1);
define('BLOG_ID_CURRENT_SITE', 1);

2、将这些加入您位于你网站根目录下的.htaccess文件,替换其他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]

7、添加新站点

修改好文件之后,重新进入登录后台,可以发现左上角多了“我的站点”菜单,其中有“管理网络”选项,点击它进入网络的管理界面。

然后从菜单中进入“站点”->“所有站点”界面。

可以看到所有站点中只有一个站点,该站点就是之前的站点,且URL为之前设置的“WordPress(URL)”。

下面来添加一个新的站点。

点击添加站点按钮进入添加界面,可以看到“站点地址(URL)”选项中,只能设置根域名之下的子域名,而不能修改根域名。如果您恰好仅需要创建子域名站点,那么根据您的需要填写即可。若您需要创建其他域名的站点,也没关系,先随便填入一个站点名称,完成创建后,进入“所有站点”页面,选择您刚刚创建的站点,点击编辑,即可更改您的站点域名(包括根域名都可以修改)。

然后进入主站点的设置界面,将看到站点URL为灰色,即不可设置状态,到这里您应该发现,第4、5步的重要性了。因此开启多站点之前,一定要按第4、5部确定你的主站点域名。

注意:如果您的网站开启了https协议,也就是ssl证书,在访问新添加的目录站后台的时候会可能提示你重定向次数过多的问题,不要着急,出现这个问题的解决方法如下:

#ignored: “-” thing used or unknown variable in regex/rew
rewrite ^/([_0-9a-zA-Z-]+/)?wp-admin$ /$1wp-admin/ permanent;
if (-f $request_filename){
	set $rule_2 1;
}
if (-d $request_filename){
	set $rule_2 1;
}
if ($rule_2 = "1"){
#ignored: “-” thing used or unknown variable in regex/rew
}
rewrite ^/([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) /$2 last;
rewrite ^/([_0-9a-zA-Z-]+/)?(.*.php)$ /$2 last;
rewrite /. /index.php last;

添加以上代码至网站的php配置文件中保存即可完美解决该问题,以上的规则对于子域名和子目录模式都正常使用!

  • 本文由 发表于 2020年2月25日
  • 转载请注意本文链接:http://www.wf-seo.com/wordpress/33.html
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: