一般我们安装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$ /\wp-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).*) /\ last; rewrite ^/([_0-9a-zA-Z-]+/)?(.*.php)$ /\ last; rewrite /. /index.php last;
然后我们需要配置站点vhost中的域名添加*解析。重启Nginx生效。
最后,我们还需要配置 WordPress固定链接不能用直接死链,而是用灵活的相对链接。
评论