首先说说为什么要启用这个功能?有什么作用?
1.大量的主题需要展示,一个个开站不太现实
2.需要开大量的站点,即站群。

apache教程有很多,按后台提示就可以配置成功。在这里只讲 Nginx 下面来实操

先编辑wp-config.php文件,增加以下代码保存,刷新后台。

define('WP_ALLOW_MULTISITE', true); //开启多站点功能

后台配置网络,根据提示再次修改wp-config.php文件,重新登录后台。

此时已经可以通过后台增加站点了,费话不多说,别的自己研究。直接重点

1.安装Nginx Helper插件,启用debug第一项保存;
2.复制setting路径地址备用,修改网站配置文件;
3.以下代码复制到配置文件server最上面保存;

子目录

map $uri $blogname {
    ~^(?<blogpath>/[^/]+/)files/(.*)  $blogpath ;
}

map $blogname $blogid {
    default -999;
    include setting路径地址.conf;
}

子域名

map $http_host $blogid {
    default       -999;
    include setting路径地址.conf;
}

5.最关键的一步,搞Nginx 伪静态

子目录

# 避免 PHP 读取静态文件
location ^~ /blogs.dir {
  internal;
  alias /网站目录/wp-content/blogs.dir ;
  access_log off; log_not_found off; expires max;
}
# 通过 map 读取对应站点的文件
location ~ ^(/[^/]+/)?files/(.+) {
  try_files /wp-content/blogs.dir/$blogid/files/$2 /wp-includes/ms-files.php?file=$2 ;
  access_log off; log_not_found off; expires max;
}
# 重写
if (!-e $request_filename) {
  rewrite /wp-admin$ $scheme://$host$request_uri/ permanent;
  rewrite ^(/[^/]+)?(/wp-.*) $2 last;
  rewrite ^(/[^/]+)?(/.*\.php) $2 last;
}
# 重写
location / {
  try_files $uri $uri/ /index.php?$args ;
}

子域名

# 避免 PHP 读取静态文件
location ^~ /blogs.dir {
  internal;
  alias /网站目录/wp-content/blogs.dir ;
  access_log off; log_not_found off; expires max;
}
# 通过 map 读取对应站点的文件
location ~ ^/files/(.*)$ {
  try_files /wp-content/blogs.dir/$blogid/$uri /wp-includes/ms-files.php?file=$1 ;
  access_log off; log_not_found off; expires max;
}
# 重写
location / {
  try_files $uri $uri/ /index.php?$args ;
}
分类: 默认分类 标签: 暂无标签

评论

-- 评论已关闭 --

目录