携子之手,与子偕老

WordPress开启多站点后nginx配置规则

技术文档 5568浏览 0评论

在开启WordPress多站点模式的过程中,会提示我们将一段rewrite写入.htaccess文件中,如下:

1
2
3
4
5
6
7
8
9
10
11
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
 
# uploaded files
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]
 
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule . index.php [L]

但上面这些规则是应用于Apache的,到了Nginx下是行不通的,需要对规则进行一些调整,如下:

 在服务器中找到/usr/local/nginx/conf 中,用vi编辑nginx.conf中的Server模块,增加内容如下

1
2
3
4
5
6
7
8
9
10
11
12
#on server block
##necessary if using a multi-site plugin
server_name_in_redirect off;
##necessary if running Nginx behind a reverse-proxy
port_in_redirect off;
rewrite ^.*/files/(.*)$ /wp-includes/ms-files.php?file=$1 last;
 
if (!-e $request_filename) {
rewrite ^.+?(/wp-.*) $1 last;
rewrite ^.+?(/.*\.php)$ $1 last;
rewrite ^ /index.php last;
}

修改完成后,访问/usr/local/nginx/sbin ,执行./nginx -s reload 即可实现。

转载请注明:自由的风 » WordPress开启多站点后nginx配置规则

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址