nginx下的WordPress多站点部分可用

时间:2019-02-07 12:12:33

标签: wordpress nginx multisite

要设置场景,以下配置位于单个域名下,用于开发目的,因此我们已经在子目录下运行了许多单实例WordPress网站。

我现在正在尝试在其自己的子目录下配置一个多站点实例。

常规WordPress实例示例:

URL: http://example.com/path/one
Path: /srv/web/example.com/public/path/one

示例多站点WordPress实例:

URL: http://example.com/path/two
Path: /srv/web/example.com/public/path/two

多站点实例无法正常工作。

位于http://example.com/path/two的根站点正常工作。

对于父站点和子站点,没有培训'/'的wp-admin路径都可以按预期正确地重写为wp-admin/。

http://example.com/path/two/site1/wp-admin/上唯一一个名为“ site1”的“子”站点显示了一个损坏的页面,该路径下的后续URL通过php-fpm返回了“找不到文件”。

根据许多不同的在线多站点配置示例,我试图避免使用if (!-e $request_filename ) { ... }语法。

我在下面的配置中错过了什么?指针将不胜感激。

server {
   listen ...;
   ...
   index index.php;

   location /path/one {
       try_files $uri $uri/ /path/one/index.php?$args;
   }
   location /path/two {
       try_files $uri $uri/ @wordpress_multi;
   }
   location @wordpress_multi {
       rewrite wp-admin$ $request_uri/ permanent;
       rewrite ^/path/two/([^/]+/)?(wp-.*) /path/two/$2 last;
       rewrite ^/path/two/([^/]+/)?(.*\.php)$ /path/two/$2 last;
       rewrite ^/(.*)$ /path/two/index.php?$args;
   }
   location ~ \.php$ {
       ...
   }
}

0 个答案:

没有答案