WordPress多站点nginx伪静态规则

服务器无论使用apache还是nginx,在wordpress开启多站点模式进入启用网络界面的时候,wordpress提供的都是添加到.htaccess文件用于apache的伪静态规则,而该伪静态规则显然不能应用于nginx服务器,因此nginx服务器wordpress开启多站点模式配置伪静态需要添加不同的伪静态规则。

Nginx添加伪静态规则

注意:博客吧测试使用的系统是CentOS 6.5 64位,服务器是军哥的 LNMP 1.4一键安装包。

1、开启多站点模式的网站是boke8.net,那么就编辑该网站的配置文件,编辑命令:

1
vi /usr/local/nginx/conf/vhost/boke8.net.conf

提示:如果不会使用命令编辑,可以通过FTP使用SFTP over SSH连接类型连接服务器,在上面的路径下载配置文件到本地电脑编辑。

2、在配置文件中找到server部分,在结束的 } 括号前一行添加以下伪静态规则:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#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;

3、保存文件后,重启服务器即可,重启命令:

1
lnmp restart

注意:这个是博客吧使用的lnmp一键安装包的状态命令。

4、对于开启wordpress子目录多站点模式的网站进行到第3步即可,但是如果开启的是子域名模式,那么则继续编辑conf配置文件,找到

1
server_name boke8.net;

替换为

1
server_name boke8.net *.boke8.net;

其实就是添加一个泛域名。记得创建一条泛域名解析到服务器ip。

5、保存文件,重启服务器后,就要以正常使用wordpress固定链接功能了。

伪静态规则来自wpdaxue.com

发表留言