マルチサイト化したWordPressで画像が表示されない問題を解決する

味があって、WordPressのマルチサイト機能を使ってみました。サーバーをひとつ借りているだけで、別ドメインのブログを複数持てる機能です。このブログの運営だけで精一杯のようなので、今は特に使っていませんが、将来的に有効利用できればと思いました。

マルチサイト化の手法は以下のブログを参考にさせていただきました。

さくらインターネットのスタンダードプラン WordPressマルチサイト構築不完全マニュアル | ど素人からでもプログラマ!

さくらインターネットでWordpressをマルチサイト化!一つのブログで複数運営管理してみよう! | ウェブという選択肢はてなブックマーク - さくらインターネットでWordpressをマルチサイト化!一つのブログで複数運営管理してみよう! | ウェブという選択肢

ところが、せっかく作ってみたマルチサイトのブログですが、新しく作ってみたサイトのほうで、なぜか画像が表示されないというトラブルに直面しました。画像そのものはアップロードできているのですが、紐付けができていないようで、ウェブサイト上に表示されません。

同様の問題に直面しておられる方は多いようで、同じような悩みについて書いた記事がたくさんありました。

WordPress ? 日本語 ≫ 「アップロードするファイルの保存場所」はてなブックマーク - WordPress ? 日本語 ≫ 「アップロードするファイルの保存場所」

わたしの環境でも、調べた限りでは、画像はサーバーのblogs.dirディレクトリにはアップされているのは確認しました。確かに画像はアップロードされているのに.htaccessの問題で画像を引っ張ってくることができていないようでした。

しかし問題点がよくわからなかったので、わたしのブログの.htaccessの記述を、上記の各フォーラムで挙げられていた模範例の.htaccessとくらべてみました。するとなぜか


# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wordpress/wp-includes/ms-files.php?file=$2 [L]


という記述を発見。パスが間違っています。


# uploaded files
RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-includes/ms-files.php?file=$2 [L]


に修正したところ、表示されるようになりました。

WordPressをマルチサイト化するとき、ネットワークの構築のところで、「.htaccessにコードを追加してください」、と表示されるのですが、そこでコピペしたコードが間違っていたようです。