WordPress多站点开启和配置记录 Nginx和Apache多站点伪静态规则

近期遇到不少的网友在玩转WordPress多站点模式,我们所谓的多站点模式可能是在一台服务器或者多台服务器安装多个WP程序解析不同的域名实现的多站点模式。但是对于他们来说是一个WordPress程序通过配置修改进行多站点和多域名的设置共享一个数据库,那具体如何设置的呢?

/* Multisite settings */
define( 'WP_ALLOW_MULTISITE', true );

我们需要在WordPress程序的WP-CONFIG.PHP中进添加代码,开启多站点模式。

图片[1]-WordPress多站点开启和配置记录 Nginx和Apache多站点伪静态规则-WordPress建站笔记

添加之后,刷新WP后台,我们可以看到会多一个”工具”-“网络设置”。

图片[2]-WordPress多站点开启和配置记录 Nginx和Apache多站点伪静态规则-WordPress建站笔记

然后我们选择是子域名和还二级目录作为配置。然后看到需要继续在配置文件加入他给的代码。

图片[3]-WordPress多站点开启和配置记录 Nginx和Apache多站点伪静态规则-WordPress建站笔记

配置完毕之后,我们还需要给站点配置伪静态规则重新设置。

这是Nginx规则,我们根据需要修改:

# 根据自己的实际修改下面的域名
log_format  yourdomain.com  '$remote_addr - $remote_user [$time_local] "$request" '
             '$status $body_bytes_sent "$http_referer" '
             '"$http_user_agent" $http_x_forwarded_for';
server
        {
                listen       80;
                # 根据自己的实际修改下面的域名
                server_name yourdomain.com *.yourdomain.com;
                index index.html index.htm index.php default.html default.htm default.php;
                # 注意修改下面的网站目录
                root  /mnt/wwwroot/yourdomain.com; 

                #include wordpress.conf;
                #以下是 lnmp 1.0 的 wordpress.conf 规则,也就是上一行 include wordpress.conf 里面的
                location / {
                    if (-f $request_filename/index.html){
                        rewrite (.*) $1/index.html break;
                    }
                    if (-f $request_filename/index.php){
                        rewrite (.*) $1/index.php;
                    }
                    if (!-f $request_filename){
                        rewrite (.*) /index.php;
                    }
                }
                # wordpress.conf 规则 结束

                location ~ .*\.(php|php5)?$
                        {
                                try_files $uri =404;
                                fastcgi_pass  unix:/tmp/php-cgi.sock;
                                fastcgi_index index.php;
                                include fcgi.conf;
                        }

                location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
                        {
                                expires      30d;
                        }
                location ~ .*\.(js|css)?$
                        {
                                expires      12h;
                        }

                access_log  /home/wwwlogs/huchangmeng.com.log  huchangmeng.com;

                #ignored: “-” thing used or unknown variable in regex/rew
                rewrite ^/([_0-9a-zA-Z-]+/)?wp-admin$ /$1wp-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).*) /$2 last;
                rewrite ^/([_0-9a-zA-Z-]+/)?(.*.php)$ /$2 last;
                rewrite /. /index.php last;
				
        }

老蒋看到,实际上多站点模式功能还是很强大的,我们可以用主域名的二级域名,也可以用其他域名,但是需要做映射解析。多站点模式,我们可以直接在主站点管理和同步数据到多站点。

附带Apache伪静态规则:

如果你的服务器使用的是Aache环境,使用下面的代码替换网站根目录下的 .htaccess 里面的所有代码

子域名模式下的规则代码:

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]

文章参考来自:https://www.itbulu.com/wp-multi-site.html

投票 post
© 版权声明
THE END
喜欢就支持一下吧
点赞7 分享