Nginx 自定义上传为 WordPress Multisite 重写

Nginx custom uploads rewrite for WordPress Multisite

我在 Nginx 上有一个带有子域的 WordPress 多站点设置。

我希望上传这样的 URL 可以工作...

http://mysub.mydomain.com/files/2017/07/myfile.png

文件的位置...

<web root>/wp-content/uploads/sites/xx/2017/07/myfile.png

这是 Nginx 配置中的位置规则:

location ~ ^/files/(.*)$ {
    try_files /wp-content/uploads/sites/$blogid/;
    access_log off; log_not_found off;      expires max;
}

它不起作用,我不明白为什么。

我也试过(还有很多变化):

location ^~ /files {
    internal;
    alias /www/wp-content/uploads/sites/$blogid;
    access_log off; log_not_found off;      expires max;
}

如果其中任何一个可以被确认为 'should work' 那么我将开始查看我的代码更高层的规则,这些规则可能会优先(尽管我还没有突然想到)...

这是有效的:

if (!-e $request_filename) {
    rewrite ^/files/(.*) /wp-content/uploads/sites/$blogid/ last;
}