天天看点

HTTP 错误 404.15 - Not Found 请求筛选模块被配置为拒绝包含的查询字符串过长的请求。

web项目中,get方式传值是通过地址栏中的url参数进行传递的。除了浏览器对url长度的限制大小不一之外,出于安全考虑,

IIS中对于URL中参数大小也是有限制的,默认为2048KB。

如果参数大于这个数字的话,我们应该手动的去重置该值。

对于frameword4.0做如下设置:

在web.config文件中找到Httpruntime节点,做如下修改:

其中maxQueryStringLength的值即为重置的新值。

<httpRuntime requestValidationMode="3.0" maxQueryStringLength="10240"></httpRuntime>
           

更新上面的代码后,在本地调试已经没有问题了,但是站点发布后,还是会出现同样的错误。

错误原因就是没有设置iis安全配置信息

接下来,应继续在web.config文件中找到system.webServer节点,做如下设置:

<system.webServer>
   
    <security>
      <requestFiltering>
        <requestLimits maxQueryString="10240"></requestLimits>
      </requestFiltering>
    </security>
  </system.webServer>
           

其中security中的设置,就是在此指定IIS中允许url传值的大小。