Wordpress 如何开启多站点功能 域名或目录 Nginx
首先说说为什么要启用这个功能?有什么作用?
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 ;
} 版权申明
本文系作者 @技术狂人张大胆 原创发布在AP135 乐享生活网站点。未经许可,禁止转载。
评论