名古屋市のフロントエンドエンジニアがWEB制作に関する技術メモを書いています

メニュー

ホーム > その他 > 【解決済み】VCCWでアップロードしたWordPressで、環境によって画像がアップロードできない問題について【原因はDynamic Hostnameプラグイン】

【解決済み】VCCWでアップロードしたWordPressで、環境によって画像がアップロードできない問題について【原因はDynamic Hostnameプラグイン】

最終更新日:

公開日:2015年12月21日

その他

どうも、くーへいです。

先日、WordPressにてある問題に遭遇しましたので、メモがてら少し記事を書かせていただきます。

WordPressで画像がアップロードできない!

こういった状況は、まぁまぁ聞く話です。
よくある原因としては、wp-contentのパーミッションを変更すると直るとか、キャッシュ系のプラグインが邪魔してるとか・・・。

しかしながら、今回私が経験した状況は少し異なります。
話しが少々ややこしいですが、聞いてください。

どういう環境なのか?

サイト自体はWordPressで作成した、一般的なサイトです。
特殊な点と言えば、VCCWを使用してローカルにて構築作業を行った後、WordMoveを使用して本番環境にアップロードした事です。

どういう現象なのか?

端的にいえば、いくつかの環境で画像をアップロードできませんでした。
画像のアップロードは、CustomFieldTemplatesを用いた方法、投稿に埋め込む方法、管理画面サイドバーの「メディア」からアップロードする方法、いずれも失敗します。
エラーメッセージはアップロード方法によって異なりますが、基本的にはアップロードできなかった旨を示すだけで、ヒント的なものは有りません。
サーバーのログファイルにも何も残りませんし、WordPressのログファイルにもエラーメッセージはありませんでした。

ちなみに、画像をアップロードできない以外は特に不具合はありません。

テストした環境は以下の通りです。
人物は仮で名前を付けてみました。

人物 OS LAN ブラウザ アップロード可否
くーへい Windows8.1 社内有線LAN ChromeおよびInternetExplorer11、Firefox
くーへい Android4.4.2 社内無線LANおよびdocomo回線 Chrome
社員A Windows7 社内無線LAN Chrome ×
社員A Mac 社内無線LAN Chrome
社員A Mac 自宅無線LAN Chrome ×
社員B Windows8.1 社内有線LAN Chrome ×

ご覧のとおり、OSからLANの環境、ブラウザに至るまでバラバラです。
OSの違いやLANの違い、ブラウザの違いが偏っていれば、ある程度の目星がつきますが、ここまでバラバラであった時点でお手上げです。

結局原因はプラグイン

環境に依存せず、ログにも残らない時点で問題の切り分けは不可能です。
残りは、プラグインの有効無効くらいしか対策の取りようがありませんでした。

この時点でインストールされているプラグインは、おおむね他のサイトでも使用されているものでした。
しかしながら、1つだけ普段は使用していないプラグインをインストールしていることに気づいたのです。
それが、題名にも記載したDynamic Hostnameプラグインだったのです。

物は試し・・・ということで無効にしてみたところ、問題無く画像がアップロードできるようになりました!
とりあえず問題自体は解決です。

Dynamic Hostnameプラグインの何がダメなのか?

結局、これが分からないことには根本的な解決にはなりません。
Dynamic Hostnameプラグイン自体は、VCCWを使用すると自動的にインストールされるプラグインです。

VCCWでは、ローカル環境にてWordPressを簡単に構築するために作成されています。
ローカル環境でWordPressを作成するため、当然のことながらURLは仮の状態でインストールすることになるのです。
これを本番環境に設置する際、URLの置換等が発生しないようにするのがDynamic Hostnameプラグインの役割です。

ではなぜ、上記のような問題が発生したのか?
その答えは残念ながら出ていません。
ただ、上記の現象を見るかぎり、このプラグインがルーティングに何かしらの影響を与えたと推察しますが・・・。

  • このエントリーをはてなブックマークに追加

Twitterにて更新情報などを配信しています

スポンサードリンク