LimitRequestBodyはApacheレベルであるため(つまり、決してPHPにヒットしないため)、Apacheレベルでエラー文書を置き換える必要があります。あなたのやり方はErrorDocumentです。
出力Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.
から、ErrorDocumentが設定されているように見えますが、Apacheはそれを見つけることができません。
基本的に、あなたのような何かが必要になります。
ErrorDocument 413 /request-too-large.php
要求があまりにlarge.phpファイルおそらく標準GETリクエストを取得します - 任意のPOSTパラメータが失われますが、あなたが内部$_SERVER
を見ることができますし、 $_REQUEST
を参照して、元のリクエストから残っているものがないかどうかを確認します。
エラー文書に対してPHPを実行するには、この権利を取得するまでに時間がかかる場合があります。 PHPで直接行うことができない場合は、プレーンなHTMLページを使用し、METAリダイレクトやJavaScriptリダイレクトを設定してPHPページに送ります。
フルURLで設定することもできます。これは、クライアント側のリダイレクトを使用します。
こんにちは、ありがとうございます。 Unfortunatlly私はErrorDocument 413 /error_file.phpを実行しようとしましたが、413は動作していないようです..他のすべての人は500または404が好きですが、413ではありません – john
どのApacheのバージョンを使用していますか?以前は、新しい要求を行う前にコンテンツの長さがリセットされなかったため、413の処理でいくつかのバグがありました。また、クライアント側のリダイレクト(完全なURLを使用)を試しましたか? –