マルチサイトで動かしているWordPressで画像が表示されない場合の修正

さくらのレンタルサーバに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を下記のように修正。
修正前
[plain]RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L][/plain]
修正後
[plain]RewriteRule ^(.*/)?files/(.+) wp-includes/ms-files.php?file=$2 [L][/plain]
これで「http://***.***/files/{year}/{month}/{filename}.jpg」でも参照可能になりましたと。.htaccessまわりは設定が恐いね……。

1コメント

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください