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

参考

現象

「メディア」からアップした画像が表示されない。ちなみに画像のURLは「http://***.***/files/{year}/{month}/{filename}.jpg」を呼びに行こうとしている。

確認したら「/wp-content/blogs.dir/{blog_id}/files/{year}/{month}/{filename}.jpg」に実ファイルはアップされていて、ブラウザから「http://***.***/wp-content/blogs.dir/{blog_id}/files/{year}/{month}/{filename}.jpg」を直接見に行くと表示もされる。諸々確認した結果、どうも.htaccessの設定の都合で /wp-includes/ms-files.php を呼べていないっぽい。

修正

.htaccessを下記のように修正。

修正前

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

修正後

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

これで「http://***.***/files/{year}/{month}/{filename}.jpg」でも参照可能になりましたと。.htaccessまわりは設定が恐いね……。

Similar Posts:

Facebook にシェア
Pocket