一般我们安装WordPress程序搭建站点都是单站点模式。实际上也有部分的同学是有需要用安装多站点的。在这里,目前新版本的WordPress已经支持比较简单的开启WordPress多站点模式。
第一、开启多站点配置
define('WP_ALLOW_MULTISITE', true);
这里,我们在 wp-config.php中添加上面代码,然后登录网站后台,你可以看到工具-配置网络。

配置提交。

然后我们需要到对应的文件添加配置规则。
1、子域名
define( 'MULTISITE', true ); define( 'SUBDOMAIN_INSTALL', true ); define( 'DOMAIN_CURRENT_SITE', 'www.zhujipingjia.com' ); define( 'PATH_CURRENT_SITE', '/' ); define( 'SITE_ID_CURRENT_SITE', 1 ); define( 'BLOG_ID_CURRENT_SITE', 1 );
2、子目录
define( 'MULTISITE', true ); define( 'SUBDOMAIN_INSTALL', false); define( 'DOMAIN_CURRENT_SITE', 'www.zhujipingjia.com' ); define( 'PATH_CURRENT_SITE', '/' ); define( 'SITE_ID_CURRENT_SITE', 1 ); define( 'BLOG_ID_CURRENT_SITE', 1 );

第二、添加多站点
配置完毕之后,我们现在可以去后台看看添加多站点。

重新登录后看到如上图,可以对站点管理,根据我们设置的子域名或者子目录来进行添加多站点。
第三、伪静态规则
对于多站点,我们还需要对多站点伪静态重新设置。
这里,根据 Apache和Nginx不同的引擎有不同设置。
1、Apache引擎
#子域名
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]
#子目录
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]
2、Nginx引擎
如果我们是用的Nginx引擎的话,则需要在对于conf文件添加,不是替换。
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;
然后我们需要配置站点vhost中的域名添加*解析。重启Nginx生效。
最后,我们还需要配置 WordPress固定链接不能用直接死链,而是用灵活的相对链接。


评论