WordPress多站点安装以及配置

在正常安装WordPress完成后,可以通过修改配置文件来使用WordPress多站点。

WordPress多站点有2种模式,一种是子域名模式,另外一种是子目录模式。

子域名

例如:ggdoc.cn为主域名,那么可以让二级域名作为子域名来实现不同的站点,例如:m.ggdoc.cn、www.ggdoc.cn。

这种模式下,需要设置域名泛解析,例如将*.ggdoc.cn解析到服务器IP地址。

首先需要修改WordPress配置文件:wp-config.php,添加以下配置:

define('WP_ALLOW_MULTISITE', true);

访问网站后台,按照提示,添加相应的配置,参考如下:

define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', true );
define( 'DOMAIN_CURRENT_SITE', 'ggdoc.cn' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

配置完成后,需要修改Nginx配置,参考配置:

server {
    server_name ggdoc.cn *.ggdoc.cn;

    root /var/www/ggdoc.cn/htdocs;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$args ;
    }

    location ~ \.php$ {
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_pass php;
    }
}

之后,就可以在添加子站点了。

子目录

这种模式就是用二级目录来作为新的站点,例如:主站为ggdoc.cn,那么其它站点访问路径可以为ggdoc.cn/book、ggdoc.cn/movie。

首先需要修改WordPress配置文件:wp-config.php,添加以下配置。

define('WP_ALLOW_MULTISITE', true);

然后访问网站后台,按照提示,添加剩余的配置,参考如下:

define( 'MULTISITE', true );
define( 'SUBDOMAIN_INSTALL', false );
define( 'DOMAIN_CURRENT_SITE', 'ggdoc.cn' );
define( 'PATH_CURRENT_SITE', '/' );
define( 'SITE_ID_CURRENT_SITE', 1 );
define( 'BLOG_ID_CURRENT_SITE', 1 );

修改Nginx配置,参考如下:

server {
    server_name ggdoc.cn;

    root /var/www/ggdoc.cn/htdocs;
    index index.php;

    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 ;
    }

    location ~ \.php$ {
        try_files $uri =404;
        include fastcgi_params;
        fastcgi_pass php;
    }
}

最后,就可以在网站后台添加新站点了。