用于在Wordpress子域多站点的每个子站点上提供静态内容的nginx配置
Wordpress多站点(子域)如下所示:用于在Wordpress子域多站点的每个子站点上提供静态内容的nginx配置,wordpress,nginx,multisite,static-site,Wordpress,Nginx,Multisite,Static Site,Wordpress多站点(子域)如下所示: 根域:xxxx.com 子网站1:a.xxxx.com 子网站2:b.xxxx.com 子网站3:c.xxxx.com 我想将子目录(提供静态内容)添加到每个子网站, 它看起来像这样: xxxx.com/z/ a、 xxxx.com/z/ b、 xxxx.com/z/ c、 xxxx.com/z/ xxxx.com/z/中的静态内容默认情况下,我只需要创建一个名为/z/的文件夹,并在其中添加内容, 但是,如何使其他子网站下的其他/z/也能正确地
- 根域:xxxx.com
- 子网站1:a.xxxx.com
- 子网站2:b.xxxx.com
- 子网站3:c.xxxx.com
- xxxx.com/z/
- a、 xxxx.com/z/
- b、 xxxx.com/z/
- c、 xxxx.com/z/
server {
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
root /var/www/htdocs;
server_name xxxx.com *.xxxx.com;
index index.php index.html index.htm;
# Redis NGINX CONFIGURATION
set $skip 0;
# POST requests and URL with a query string should always go to php
if ($request_method = POST) {
set $skip 1;
}
if ($query_string != "") {
set $skip 1;
}
仅使用一个服务器定义无法实现这一点,因为资产的内容不同,
/var/www/htdocs
下的文件夹也不同。您可以使用以下服务器和rewrite语句来实现您的目标(您还需要创建a、b、c文件夹)
如果只想在一台服务器上执行此操作,则需要根据请求的域更改rewrite
语句
server {
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
root /var/www/htdocs;
server_name *.xxxx.com xxxx.com;
rewrite ^/z/(.*)$ /$host/$1 last;
}
server {
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
root /var/www/htdocs;
server_name *.xxxx.com xxxx.com;
rewrite ^/z/(.*)$ /$host/$1 last;
}