さくらのレンタルサーバにWordpressを設置して、「WordPress MU Domain Mapping」を導入してサブドメイン形式でマルチサイトを導入……みたいなことをやっていたのですが、追加したサイトでアップロードした画像が表示されなかったので、ちょっと調べてみたりしていました。

参考

現象

「メディア」からアップした画像が表示されない。 呼ぼうとしている画像のURLは http://your.sub.domain/files/{year}/{month}/{filename}.jpg

/wp-content/blog_dir/blog_id/files/{year}/{month}/{filename}.jpg にファイルは存在している。 http://your.sub.domain/files/{year}/{month}/{filename}.jpg に直接アクセスすると表示もされる。

修正

どうも .htaccess の設定の都合で /wp-includes/ms-files.php を呼べていないっぽい。

# 修正前
# RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]

# 修正後
RewriteRule ^(.*/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]

.htaccess まわりは変意図せずにつまづいたりするので怖い。