NextGEN Galleryで画像ファイルがアップできないのは.htaccessが原因だった

NextGEN Galleryのファイルがアップできないエラーワードプレス

『NextGEN Gallery』はワードプレスで簡単にギャラリー機能を実装できるため導入しているのですが、アプデをしたタイミングで画像ファイルがアップロードできない問題が発生しました。

色々試した結果、解決しましたので解決法をシェアします。

前提条件として僕の環境はWPをサブディレクトリにインストールしてルートディレクトリで表示しています。
スポンサーリンク

『NextGEN Gallery』でファイルをアップすると出るエラーの内容

『NextGEN Gallery』のエラーThere was a problem uploading the file.

ファイルをアップすると「There was a problem uploading the file.」というエラーが出てアップできない状態です。

日本語訳:「ファイルのアップロード中に問題が発生しました。」

正直これだけだと何が原因なのかさっぱりです。

このエラーと同じ内容が表示された方は下記の方法で解決するかもしれません。

解決法:画像ファイルがアップできないのは『.htaccess』の記述が原因

早速解決法をご紹介します。

原因は2つあり、ルート上にある.htaccessの記述WPをインストールしたサブディレクトリにある.htaccessです。

1つ目:ルート上にある.htaccess

「index.html・index.phpなしのURLに統一」する下記の記述を追加しているのが原因でした。

# index.htmlなしで統一
RewriteEngine on
RewriteCond %{THE_REQUEST} ^.*/index.(html|php)
RewriteRule ^(.*)index.(html|php)$ https://ドメイン名/$1 [R=301,L]

これがなければファイルはアップできます。

2つ目:WPをインストールしたフォルダにある.htaccess

WPをインストールしたフォルダに.htaccessがあるか確認してください。ある場合は記述が間違っている可能性があります。

.htaccessがない場合と同様に下記の内容を記述しWPをインストールしているフォルダに入れればOKです。

下記の記述はWPをインストールした際に同フォルダ内にある.htaccessと同じ内容です。
RewriteEngine On
RewriteBase /ワードプレスをインストールしているフォルダ名を入力/
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /ワードプレスをインストールしているフォルダ名を入力/index.php [L]

つまり

  1. WPをサブディレクトリにインストールしている
  2. URLの統一化をしていている
  3. サブディレクトリ内に.htaccessが無い、もしくは記述が間違っている

この3つが組み合わさっている場合に今回のエラーが起きるようです。

『NextGEN Gallery』でファイルがアップできないエラーが起きた経緯

僕はWPをサブディレクトリにインストールしてルートディレクトリで表示しています。この方がセキュリティーも高いですし、整理されてスッキリします。

WordPressをサブディレクトリにインストールする方法はこちらの記事でご紹介しています。

この「WPをサブディレクトリにインストールしてルートディレクトリで表示」するための設定でWPの中にある.htaccessをルートディレクトリへコピーします。

どうやら僕はコピーではなく移動させてしまっていたようです。

そのため上で説明した条件に当てはまりファイルがアップできない問題が発生してしまいました。

プラグインのアップデート前までは使えていたので、バージョンによっては条件に当てはまっていても大丈夫なようです。

画像ファイルがアップできないエラー解決までに試したこと

Google検索し同じ状況の人がいない調べ、いくつか試したので試したことをまとめておきます。

WordPressのプラグインの停止

エラーになってまず疑うのが他のプラグインとの干渉です。インストールしているプラグインを一つずづ停止しましたが何も変わりませんでした。

.htaccessが原因ではない場合は、プラグインの干渉が原因の場合もあるようです。

パーミッション変更とキャッシュの削除

下記のブログで紹介されている2つの方法を試しました。

  • 『NextGEN Gallery』でファイルがアップされるフォルダ『wp-content』の中にある『uploads』のパーミッションを『707』に変更する方法
  • プラグインを使ってキャッシュを削除する方法

まとめ:もうアプデは怖くない

『NextGEN Gallery』をアップデートしてファイルがアップできなくなるエラーが起きたのは、過去2回ありました。最初は次回のアプデで直るだろうと思っていましたが、一向に直りません。

今後も同じことがあると古いバージョンを使い続けないといけないので、サーバー引っ越しのタイミングで色々比較し原因を突き止めることができました。

同じようにファイルがアップできないエラーになった方はぜひ試してみてください。

コメント

タイトルとURLをコピーしました