[ASP.NET] 長いクエリー文字列を受け取るには maxQueryString と maxQueryStringLength を設定する
IIS, ASP.NET で長いクエリー文字列を受け取るには、web.config に maxQueryString と maxQueryStringLength のふたつの設定が必要です。
開発している リツイート直後のツイートを表示するやつ では、URL に長いパラメーターが指定される場合があるのですが、エラーが発生するので調べると、maxQueryStringLength が足りていませんでした。
maxQueryString
IIS に関する設定で「要求の限度に基づくフィルター処理」として、クエリー文字列の長さの上限を requestLimits **maxQueryString ** 属性で指定します。指定していない場合、「HTTP Error 404.15 – Not Found」が発生します。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<system.webServer> | |
<security> | |
<requestFiltering> | |
<requestLimits maxQueryString="10000" /> | |
</requestFiltering> | |
</security> | |
</system.webServer> |
maxQueryStringLength
ASP.NET 4 以降に関する設定で、使用可能な URL 範囲の拡大 するためのオプションがあります。httpRuntime maxQueryStringLength 属性で指定します。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<httpRuntime maxQueryStringLength="10000" /> |
Internet Explorer の URL 文字数制限
Internet Explorer では URL に最大 2,083 文字が使用可能 です。長いクエリー文字列を受け取るには、IE 以外のブラウザーを使いましょう。