Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于在Wordpress子域多站点的每个子站点上提供静态内容的nginx配置_Wordpress_Nginx_Multisite_Static Site - Fatal编程技术网

用于在Wordpress子域多站点的每个子站点上提供静态内容的nginx配置

用于在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/也能正确地

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/也能正确地提供内容呢?可能吗?(每个子网站的静态内容都不同,尽管它们都命名为/z/

正在退出的nginx配置文件的一部分:

    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;
}