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