私は、nginxサーバー上で実行されている/blog
サブディレクトリにWordPressサブドメインマルチサイトインストールを持っています。正しくアップロードされてもURLからアクセスできないファイル以外は、すべてうまくいきます。
ファイルに関する設定の一部は次のとおりです。
location ~ ^/files/(.*)$ {
try_files /blog/wp-content/blogs.dir/$blogid/$uri /blog/wp-includes/ms-files.php?file=$1 ;
access_log off; log_not_found off; expires max;
}
#avoid php readfile()
location ^~ /blogs.dir {
internal;
alias /var/www/example/public_html/blog/wp-content/blogs.dir;
access_log off; log_not_found off; expires max;
}
そして
map $http_Host $blogid {
default -999;
#blog
example.com 1;
a.example.com 2;
b.example.com 3;
c.example.com 4;
}
WordPressサイトには以下の設定があります。
アップロードパス:wp-content/blogs.dir/1/files/
URLのアップロードパス:http://example.com/blog/files
ファイルアップロードURL:http://example.com/blog/files
アップロードパスの番号は、もちろんサイトごとに異なります。
ファイルをいずれかのサイトのブログポストにアップロードしようとすると、それが/blog/wp-content/blogs.dir/#/files/
フォルダーに表示されますが、/blog/wp-content/files/test.png
にアクセスしようとすると404がスローされます。
何か案は?ありがとうございます。
ファイルをアップロードして新しいWordPress 3.5メソッドに表示する方法をアップグレードすることで、問題を解決しました。
より詳細なチュートリアルは http://halfelf.org/2012/dumping-ms-files/ にありますが、基本的な手順は次のとおりです。
blogs.dir/#/files/
から/uploads/sites/#/
に移動します/files/
ではなく/uploads/sites/#/
に見えるようにします。/files/
を/uploads/sites/#/
に変更します