2026年10月27日
2026年10月27日
WordPressのHTTP 400 Bad Requestを解決する方法
はじめに
HTTP 400 Bad Requestエラーは、ウェブブラウザやモバイルアプリケーションがウェブサーバーに対して要求(リクエスト)を送った際に、そのリクエストの形式または内容に問題があることを示すHTTPステータスコードです。WordPressサイトでこのエラーが発生すると、ユーザーは不具合を感じるだけでなく、SEOにも悪影響を与えかねません。
この記事では、WordPressサイトでHTTP 400 Bad Requestエラーを引き起こす可能性のある原因とその解決策について詳しく解説します。
症状・背景
- プラグインの誤作動: ユーザーが特定の機能を利用しようとしたり、大量のデータを一括処理しようとしたときに発生する。
- ウェブサイトのアップデート: WordPressやテーマ、プラグインを更新した直後にサイト全体または一部ページでエラーが表示される場合がある。
- サーバーコンフィギュレーションの問題: サーバーの設定が適切でないために、リクエストが正しく処理されない。
- 不適切なURLアクセス: ブラウザやプログラムから送信されたリクエストに誤りがある場合。
手順・設定方法
ステップ1: PHPのバッファリングを確認する
# WordPressディレクトリ内のwp-config.phpファイルを開きます。
nano /var/www/html/wp-config.php
# 以下の行が既に存在しない場合は追加します。これによりPHPのバッファリングが開始されます。
php_flag zlib.output_compression Off
ステップ2: .htaccessファイルを修正する
# WordPressのルートディレクトリ内の.htaccessファイルを開きます。
nano /var/www/html/.htaccess
# 以下のような記述がある場合は削除またはコメントアウトします。これにより不適切なリクエストが抑制されます。
RewriteCond %{REQUEST_METHOD} POST
RewriteRule .* - [F,L]
ステップ3: PHP設定を調整する
# PHPの設定ファイルphp.iniを開きます。
nano /etc/php/7.4/apache2/php.ini
# 以下の行を修正または追加します。これによりPHPのメモリ制限とタイムアウト時間を調整できます。
memory_limit = 128M
max_execution_time = 300
post_max_size = 64M
upload_max_filesize = 64M
ステップ4: サーバーコンフィギュレーションをチェックする
# Apacheの設定ファイルhttpd.confを開きます。
nano /etc/apache2/sites-available/000-default.conf
# 以下のような記述がある場合は修正または追加します。これによりリクエストの上限サイズが変更できます。
LimitRequestBody 10485760
注意事項
- PHPバージョン: PHPの最新版を使用することを推奨します。
- 定期的なバックアップ: 設定変更後、サイト全体または重要データのバックアップを行うことを強くお勧めします。
- セキュリティ上の注意: HTTP 400 Bad Requestが意図的(攻撃)に引き起こされる可能性があるため、適切なアクセス制御とログ監視を実施すること。
- パフォーマンス/運用上の注意: ファイルサイズや要求のボリューム上限値は必要最小限に設定しましょう。過度のリソース使用はパフォーマンスに悪影響を与えます。
まとめ
1. PHPバッファリングの確認: PHPの出力コンプレッションを無効化し、適切な設定を使用します。
2. .htaccessファイルの修正: 不適切なリクエストを抑制するために.htaccessファイルを編集します。
3. PHP設定の調整: メモリ制限とタイムアウト時間を適切に設定することでパフォーマンスを向上させます。
4. サーバーコンフィギュレーションのチェック: Apacheの設定ファイルでリクエストサイズの上限を設定します。
5. 定期的なバックアップ: 設定変更後のサイト全体や重要データのバックアップを行います。
関連記事: