服务器无论使用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