2026年7月12日
2026年7月12日
WordPressのHTTP 415 Unsupported Media Typeを解決
はじめに
WordPressサイト運営において、メディアファイルのアップロードやリクエストが原因で発生するHTTP 415 Unsupported Media Typeエラーは、サイト利用者にとって非常に不便な問題を引き起こします。この記事では、HTTP 415エラーが発生した場合にWordPressサイトを正常に動作させるための対策について解説します。
症状・背景
- メディアファイル(画像や動画)をアップロードしようとした際
- 特定のフォームリクエストを行おうとした際
- WordPressプラグインが特定のメディア操作を行うとき
- サーバー設定によっては、マルチパート・フォームデータの不適切な処理により発生
手順・設定方法
ステップ1: ファイルアップロード制限を確認する
# php.iniファイルを開く
sudo nano /etc/php/7.4/apache2/php.ini
# post_max_sizeとupload_max_filesizeの値が適切であることを確認、必要に応じて変更
post_max_size = 10M
upload_max_filesize = 8M
# ファイルを保存してApacheを再起動
sudo systemctl restart apache2
ステップ2: .htaccessファイルの設定を確認する
# WordPressルートディレクトリにある.htaccessファイルを開く
nano ./.htaccess
# 下記のような追加のセクションが存在しない場合は追加
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
<FilesMatch "\.(jpg|jpeg|png|gif|bmp)$">
Header set X-Content-Type-Options "nosniff"
</FilesMatch>
</IfModule>
# ファイルを保存してApacheを再起動
sudo systemctl restart apache2
ステップ3: WordPressの設定ファイルwp-config.phpの確認
# wp-config.phpファイルを開く
nano /var/www/html/wp-config.php
# 下記のような追加の定義があることを確認、必要に応じて追加
define('WP_DEBUG', true);
@ini_set( 'display_errors' , '1' );
ステップ4: サーバー側設定を確認・修正する
# メディアファイルのアップロード制限をサーバー設定で調整
sudo a2enmod reqtimeout
nano /etc/apache2/mods-available/reqtimeout.conf
# 下記のように設定を追加または変更
RequestReadTimeout header=50-50,MinRate=500 body=10,MinRate=500
# ファイルを保存してApacheを再起動
sudo systemctl restart apache2
注意事項
- PHPバージョンのアップデートにより、設定が影響を受けている可能性がある。
- .htaccessファイルは特定のサーバー構成で無効である場合もあるため、テスト後に適用すること。
- WordPressプラグインがHTTP 415エラーを引き起こす可能性がある。問題解決に失敗した場合は、プラグインの一時的な無効化や更新を試みてください。
- サーバーのセキュリティ設定により、特定のメディア操作が制限されている場合がある。
まとめ
1. ファイルアップロード制限: ファイルサイズと同時にリクエスト全体の上限も確認・調整が必要です。
2. サーバーセットアップ: .htaccessやApacheの設定を適切にカスタマイズすることで、HTTP 415エラーの発生を防止できます。
3. wp-config.phpファイル: デバッグ情報を有効にして、問題の特定が容易になることがあります。
4. プラグインチェック: 問題が続く場合は、プラグインの一時的な無効化も考慮してください。
5. 定期的なテスト: 変更後の動作確認と、セキュリティ設定のレビューが必要です。
関連記事: