IIS7.0下查询条件太多时,会报错,因为IIS 7对于Query String有长度限制。默认为2048
错误信息如下:
TTP 错误 404.15 - Not Found
请求筛选模块被配置为拒绝包含的查询字符串过长的请求。
•Web 服务器上的请求筛选被配置为拒绝该请求,因为查询字符串过长。
可尝试的操作:
•确认 applicationhost.config 或 web.config 文件中的configuration/system.webServer/security/requestFiltering/[email protected] 设置。
链接和更多信息这是一项安全功能。请不要更改此功能,除非您完全清楚更改的影响范围。您可以配置 IIS 服务器以拒绝查询字符串长度大于指定值的请求。如果请求的查询字符串大于所配置的值,便会返回此错误。如果需要增加查询字符串的允许长度,请修改configuration/system.webServer/security/requestFiltering/[email protected] 设置。
1、在项目的web.config里,<system.webServer>路径下添加如下配置:
- <security>
- <requestFiltering>
- <requestLimits maxQueryString="4080" />
- </requestFiltering>
- </security>
<httpRuntime maxRequestLength="4096000" requestValidationMode="2.0" executionTimeout="1110"/>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="3000000000" maxQueryString="5120" />
</requestFiltering>
</security>
</system.webServer>
对于已经设置了的,可以修改maxQueryString的大小
2、对于所有的项目都要应用此配置的话,在C:\Windows\System32\inetsrv\config里找到applicationHost.config文件,在,<system.webServer>路径下添加如下配置:添加如下配置:
- <security>
- <requestFiltering>
- <requestLimits maxQueryString="4080" />
- </requestFiltering>
- </security>
对于已经设置了的,可以修改maxQueryString的大小