WordPressは安定したコードベースを持つため、それほど頻繁にエラーが起こるわけではありません。また、何か問題が発生した場合はその内容が明確に示されます。今回取り上げる「414 Request-URI Too Large」エラーも、メッセージに原因が記載されるため、解決方法はすぐにわかります。

そのほかのWordPressのエラーと同様、解決には特定の手順があります。このエラーの場合は、いくつか設定を調整して、長いURLを使用できるようにします。以下、「414 Request-URI Too Large」エラーの解決方法を詳しくご紹介します。必要になるツールやスキル、エラー解決に取り組む前の「事前準備」にも触れていきます。

「414 Request-URI Too Large」エラーの解決策について動画での解説もご用意しています。

「414 Request-URI Too Large」エラーの発生原因

「414 Request-URL Too Large」エラーは、設定に起因する400番台エラーの一種です。400番台のエラー通常、ブラウザとサーバーのどこかに重大な問題があることを意味し、非常に厄介です。

414エラーは、URLが長すぎてサーバーで処理できない場合に発生します。たとえば、UTMパラメータを使用してコンバージョンを追跡している場合などに起こる可能性があります。UTMパラメータを追加すると、その数や内容によってURLが長くなり、サーバー側で設定されている上限を超えると414エラーが発生します。

他のWordPressエラーと同様に、414エラーにもさまざまな原因が考えられます。主な原因は、以下の3つに分類できます。

  • POSTリクエストからGETリクエストへの変換:POSTリクエストをGETリクエストに変換する際、クエリ情報が長すぎるとエラーが発生することがある。これは主に、開発者が記述したコードに起因する問題。

  • リダイレクトループ:リダイレクトが繰り返されることでURLが長くなり、414エラーが発生する場合がある。リダイレクトの適切な設定方法についてはこちら。また、リダイレクトループの解決方法はこちらで紹介。

  • サーバーへの攻撃:サーバーがサイバー攻撃を受けている可能性もあり、この場合は、414エラーよりも深刻な問題への対処が必要になる。

先に用語について補足しておきます。厳密にはURIとURLには違いがありますが、この記事ではわかりやすさを優先し、どちらも「URL」と表記します。

「414 Request-URI Too Large」エラーの解決に必要なもの

過去に「413 Request Entity Too Large」エラーが発生したことがある場合は、414エラーにも共通点があることがわかるはずです。どちらもHTTPステータスコードの400番台に分類され、番号が連続しているだけでなく、エラーの内容もよく似ています。

そのため、414エラーの解決に必要なツールや知識も、413エラーの場合とほぼ同じです。具体的には、以下が挙げられます。

Kinstaをご利用の場合、MyKinstaからSFTP認証情報やサーバーへアクセスするための便利な機能にアクセスできます。

MyKinstaのSFTP情報
MyKinstaのSFTP情報

なお、この記事では、FTPよりもセキュリティ面で優れているSFTPを使用して接続します。

「414 Request-URI Too Large」エラー解決前の準備

サーバーの設定ファイルを変更する前に、まずはいくつか確認しておきたいことがあります。設定ファイルを直接編集しなくても、簡単な対処でエラーを解決できる可能性があるためです。

また、これからご紹介する確認作業は、サイトの安定した運用にも役立つため、この機会に実施しておくことをおすすめします。

まず確認したいのが、WordPressプラグインです。プラグインによっては、その機能の一部として長いURLが生成されることがあります。特に、多機能なセキュリティプラグインは、その原因となる可能性があります。

プラグインが原因かどうかをすぐに判断するのは難しいものの、設定画面にURLの長さを制限するオプションがないか確認してみてください。該当する設定があれば、変更するだけで414エラーが解消する場合もあります。

それでも解決しない場合は、以下の方法で原因を調べてみてください。

  • サーバーのログにエラーに関する記述や、原因の特定に役立つエントリがないかどうか確認する
  • ブラウザの開発者ツール(特にConsole)でエラーの原因がわかる場合もある
  • (自分のサイトではない場合)サイトの所有者または開発者に連絡し、エラーを知らせる

プラグインが原因だと判明した場合は、サイトの開発者やプラグインの開発元に問い合わせることも検討してください。それでも問題が解決せず、基本的な確認や対処方法を一通り試した場合は、次のステップに進みましょう。

「414 Request-URI Too Large」エラーの解決方法(3つのステップ)

必要なツールを準備したら、実際の解決作業に進みます。「414 Request-URI Too Large」エラーを解決するには、サーバーの設定ファイルを変更する必要があります。ここからは、その手順を3つのステップに分けてご紹介します。

まずはサーバーに接続し、使用しているウェブサーバーの種類を確認しましょう。

1. サーバーにログインしサーバーの種類を調べる

サーバーの設定を変更するには、まずサーバーに接続する必要があります。ここで使用するのがSFTPです。

SFTPを使用してサイトに接続する方法については、別の記事で詳しくご紹介しています。接続できたら、次に使用しているウェブサーバーの種類を確認します。主なウェブサーバーには、ApacheとNginxの2種類があります。

すでにウェブサーバーの種類がわかっている場合は、次のステップに進んでください。わからない場合は、まず.htaccessファイルを探してみてください。このファイルは通常、サイトのルートディレクトリに配置されています。見つかった場合は、Apacheを使用している可能性が高いです。Nginxでは別の設定ファイルを使用します。

ただし、Apacheを使用していても、.htaccessファイルが存在しない場合があります。そのような場合は、以下の2つの方法でも確認できます。

  • Whois Domain Toolsでドメイン情報を調べる:使用しているWebサーバーの種類を確認できる場合があります。ただし、必ずしも正確な情報が得られるとは限りません。

  • 利用中のサーバーに問い合わせる:Webサーバーの種類を確実に確認するには、利用中のサーバー会社に問い合わせるのがよいでしょう。KinstaではNginxを採用していますが、他社ではApacheや複数のWebサーバーを組み合わせて使用している場合もあります。サイトの設定ファイルを変更する前に、サポートに問い合わせて確認しておくことをおすすめします。

使用しているサーバーの種類が分かったら、次は設定ファイルを探します。

2. サーバー設定ファイルを探して、テキストエディターで開く

前述のとおり、Apacheでは基本的なサーバー設定に.htaccessファイルを使用します。このファイルは通常、サイトのルートディレクトリに配置されていますが、414 Request-URI Too Largeエラーを解決するために編集するのは、別の設定ファイルです。

今回変更する必要があるのは、より詳細なサーバー設定です。設定ファイルはサイトのルートディレクトリではなく、サーバー自体のルートディレクトリにあります。

SFTPでサイトに接続すると、通常は複数のサイトやその他のファイルが格納されたディレクトリが表示されます。環境によっては、そこから数階層上に移動することで、サーバーのルートディレクトリにアクセスできます。

Cyberduckでサーバーのルートディレクトリへ移動
Cyberduckでサーバーのルートディレクトリへ移動

そこから複数のディレクトリへ移動できます。その内の一つがetcフォルダです。

サーバーのルートディレクトリ内のetcフォルダ
サーバーのルートディレクトリ内のetcフォルダ

設定ファイルのフルパスは、/etc/apache2/apache2.confです。

Apacheの設定ファイル
Apacheの設定ファイル

Nginxサーバーでも手順はほとんど同じです。WordPressの最大アップロードサイズを引き上げる方法でその手順の一部をご紹介しています。設定ファイルのパスは/etc/nginx/nginx.confです。

ファイルを見つけたら、任意のテキストエディターで開いて編集します。

3. 設定ファイルを編集し長いURLを許可する

ApacheとNginxでは設定ファイルが異なるだけでなく、変更する設定項目も異なります。ただし、どちらの場合も、まずは設定ファイルをテキストエディターで開く必要があります。ファイルを一度ローカル環境にダウンロードし、編集後にサーバーへアップロードする方法がおすすめです。

Apacheの場合は、設定ファイル内のLimitRequestLineという項目を探してください。見つからない場合は、ファイルの末尾に追加します。

Apacheのサーバー設定を変更
Apacheのサーバー設定を変更

設定値には、少なくとも128000を指定します。さらに大きな値が必要な場合は、2倍ずつ増やしてください(次の値は256000)。

Nginxの場合は、「large_client_header_buffers」という設定項目を探します。この項目には、バッファの数とサイズを表す2つの値が指定されています。たとえば、「large_client_header_buffers 4 8K」という設定です。

ここで変更するのは、バッファのサイズのみです。8Kから128K程度に増やしてみてください。それでも不十分な場合は、さらに2倍ずつ増やす必要があるかもしれません。

設定の変更が完了したら、ファイルを保存し、サーバーにアップロードします。その後、必要に応じてWebサーバーを再読み込みまたは再起動し、サイトにアクセスして「414 Request-URI Too Large」エラーが解消されているか確認してください。

まとめ

WordPressで発生するエラーの多くは、基本的な対処方法が共通していますが、まずは原因を特定することが重要です。今回取り上げた「414 Request-URI Too Large」エラーの場合は、サーバーに送信されるURLが長すぎることが原因です。

このエラーは、ApacheまたはNginxのサーバー設定を変更することで解決できます。作業自体はそれほど複雑ではなく、適切に設定を変更すれば、サイトを正常な状態に戻すことができます。

Kinstaでは、24時間365日体制でカスタマーサポートを提供しています。「414 Request-URI Too Large」エラーの解決にお困りでしたら、いつでもお問い合わせください。また、WordPressサイトの運用に関するご質問やお困りごとについても、お気軽にご相談ください。

Salman Ravoof

独学のウェブ開発者、ライター、クリエイターでもあり、大の無料オープンソースソフトウェア(FOSS)好き。その他の好きなものは、科学、哲学、写真、芸術、猫、そして食。詳しい仕事情報はウェブサイトおよびXアカウントで公開している。