私のApache2ログでこのエラーが発生しています:
[2010年4月6日火曜日09:00:56] [エラー] [クライアントA.B.C.D]リクエストが失敗しました:URIが長すぎます(8190より長い)
この制限を増やすにはどの設定を変更できますか?
Apacheソースコード内でDEFAULT_LIMIT_REQUEST_LINE
定数を設定し、Apacheを再コンパイルする必要があります。この定数はhttpd.h
ヘッダーファイルにあります。
これが完了したら、LimitRequestLine
ディレクティブを使用してリクエスト制限を減らすことができます。
詳細は http://httpd.Apache.org/docs/2.0/mod/core.html#limitrequestline を参照してください。
最良の答えは「それをしないでください」です。理由の説明については、 http://www.boutell.com/newfaq/misc/urllength.html を参照してください。
大量のデータを渡す必要がある場合は、GETではなくPOSTを使用してください。
動作させるための簡単なハックは、Apache2.confファイルを編集して次の行を追加するだけです。
LimitRequestLine 100000
Apacheを再起動すれば大丈夫です。 GETの代わりにPOSTを使用するようにコードを変更し、できるだけ早く行を削除する必要があります。
/etc/Apache2/Apache2.conf
を開く
AccessFileName .htaccess
の下に挿入:
LimitRequestLine 1000000
LimitRequestFieldSize 1000000
リクエストラインの制限 および リクエストフィールドサイズの制限 のApache制限を増やして保存します。
次のステップでは、Sudo service Apache restart
を使用してApacheを再起動します
これで問題が解決することを願っています。
Apacheで仮想ホストを使用する場合、最初の仮想ホスト定義内でLimitRequestLine
とLimitRequestFieldSize
を一致するポートで設定する必要があります。 Ubuntu/Debianの場合、これは/etc/Apache2/sites-available/000-default.conf
にあります。
これらのパラメータを/etc/Apache2/Apache2.conf
で設定すると機能しません。