当サイトはWordPressのマルチブログで運営しているのだけど、妊娠出産やら子育てやらでサブブログを放置していて、久しぶりに触ってみたら、なんだかサブブログだけ、画像がアップロードできない!

アクセス権はサーバーによる書き込みを許可していますか

などと怒られて順加さんが猿化。ウッキッキー!
メインブログではアップロードできてるわけで、アクセス権うんぬんの問題じゃない気がするけど、念のために問題ないことを確認。

というか、なんかアップロードディレクトリの設定が変??

色々調べてみたところ、wp-config.phpでUPLOADSを設定してあげると良いよってことで
公式ドキュメントを参考に修正を加えてみたら、とりあえずアップロードはできるようになった。

なったけど!

今度はアップロードされた画像のパスが変。
UPLOADSで指定したディレクトリに、確かにアップロードはされているけれど、管理画面の「メディア」で見ると、ファイルのパスが
/file[なんとかかんとか]
になっていた。

これはUPLOADSを修正する前にアップローダーがアップロードしようと試みていたパス。

さらに色々しらべてみたけど、そもそもこの問題は、WordPressのバグっぽい?
WordPressがアップグレードしていく過程で、どこかのバージョンから画像ファイルのパスが変更になったらしくて、そのあたりの設定の移行がうまくいかないとゴニョゴニョ
サーバのお引っ越しもしてるし(関係ないかもだけど)、どこかで設定が狂ったのかも?

参照したのは
このサイトとか
こことか

極めてわたしの状況と似ている。

DBのms_files_rewritingをゴニョゴニョして…みたいな話があるけれど、とりあえずアップロードはできているし、あまりよくわからないことをやりたくないので、アップロードした画像のパスがおかしいところは、.htaccessのRewriteRulesで対処することにした。

RewriteRule ^([_0-9a-zA-Z-]+/)?files/(.+) wp-content/uploads/$2 [L]

とりあえずこれで運用できてるから大丈夫かなあ?

keyboard_arrow_up