开启 WordPress多站点的方法及对应伪静态设置

一般我们安装WordPress程序搭建站点都是单站点模式。实际上也有部分的同学是有需要用安装多站点的。在这里,目前新版本的WordPress已经支持比较简单的开启WordPress多站点模式。

第一、开启多站点配置

  1. define(‘WP_ALLOW_MULTISITE’, true);

这里,我们在 wp-config.php中添加上面代码,然后登录网站后台,你可以看到工具-配置网络。

图片[1]-开启 WordPress多站点的方法及对应伪静态设置-站长窝

配置提交。

图片[2]-开启 WordPress多站点的方法及对应伪静态设置-站长窝

然后我们需要到对应的文件添加配置规则。

1、子域名

  1. define( ‘MULTISITE’, true );
  2. define( ‘SUBDOMAIN_INSTALL’, true );
  3. define( ‘DOMAIN_CURRENT_SITE’, ‘www.idcxen.com’ );
  4. define( ‘PATH_CURRENT_SITE’, ‘/’ );
  5. define( ‘SITE_ID_CURRENT_SITE’, 1 );
  6. define( ‘BLOG_ID_CURRENT_SITE’, 1 );

2、子目录

  1. define( ‘MULTISITE’, true );
  2. define( ‘SUBDOMAIN_INSTALL’, false);
  3. define( ‘DOMAIN_CURRENT_SITE’, ‘www.idcxen.com’ );
  4. define( ‘PATH_CURRENT_SITE’, ‘/’ );
  5. define( ‘SITE_ID_CURRENT_SITE’, 1 );
  6. define( ‘BLOG_ID_CURRENT_SITE’, 1 );
图片[3]-开启 WordPress多站点的方法及对应伪静态设置-站长窝

第二、添加多站点

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

图片[4]-开启 WordPress多站点的方法及对应伪静态设置-站长窝

重新登录后看到如上图,可以对站点管理,根据我们设置的子域名或者子目录来进行添加多站点。

第三、伪静态规则

对于多站点,我们还需要对多站点伪静态重新设置。

这里,根据 Apache和Nginx不同的引擎有不同设置。

1、Apache引擎

#子域名

  1. RewriteEngine On
  2. RewriteBase /
  3. RewriteRule ^index\.php$ – [L]
  4. # add a trailing slash to /wp-admin
  5. RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
  6. RewriteCond %{REQUEST_FILENAME} -f [OR]
  7. RewriteCond %{REQUEST_FILENAME} -d
  8. RewriteRule ^ – [L]
  9. RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
  10. RewriteRule ^(.*\.php)$ $1 [L]
  11. RewriteRule . index.php [L]

#子目录

  1. RewriteEngine On
  2. RewriteBase /
  3. RewriteRule ^index\.php$ – [L]
  4. # add a trailing slash to /wp-admin
  5. RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]
  6. RewriteCond %{REQUEST_FILENAME} -f [OR]
  7. RewriteCond %{REQUEST_FILENAME} -d
  8. RewriteRule ^ – [L]
  9. RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]
  10. RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]
  11. RewriteRule . index.php [L]

2、Nginx引擎

如果我们是用的Nginx引擎的话,则需要在对于conf文件添加,不是替换。

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

然后我们需要配置站点vhost中的域名添加*解析。重启Nginx生效。

最后,我们还需要配置 WordPress固定链接不能用直接死链,而是用灵活的相对链接。

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

图形验证码
取消
昵称表情代码图片

    暂无评论内容