HTTP Error 400. The request URL is invalid

作者: howie 分类: 其他 发布时间: 2017-12-20 15:22

看到这种错误信息,一般的开发者心中可能会猜测到两个原因

1.链接中有特殊字符

2.链接长度过长,超过399就要报错了

 

1.修改  httpRuntime 节点下面增加  maxQueryStringLength,maxRequestLength配置

<httpRuntime requestPathInvalidCharacters="" requestValidationMode="2.0" maxQueryStringLength="2097151" maxUrlLength="2097151" maxRequestLength="2097151" relaxedUrlToFileSystemMapping="true" executionTimeout="36000" delayNotificationTimeout="36000" />

2.修改system.webServer节点,如下

<security>
      <requestFiltering allowDoubleEscaping="true" allowHighBitCharacters="true"  >
        <requestLimits maxAllowedContentLength="2097151" maxQueryString="2097151" maxUrl="2097151" />
      </requestFiltering>
 </security>

补上<section name="requestFiltering" overrideModeDefault="Allow"  />  requestFiltering是位于 system.webServer下

还不行就改注册表
 接下来就试一下,进入注册表  CMD =》 regedit=》HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters

右击空白区域,选择Dword值

新建名称 UrlSegmentMaxLength,值设置成2048,然后点击ok

UrlSegmentMaxCount的设置同上,值也是Dword  2048,点击ok.

修改完成只有重启http服务才能生效

  1. 依次单击“开始”、“运行”,键入 Cmd,然后单击“确定”。
  2. 在命令提示符处,键入 net stop http,然后按 Enter。
  3. 在命令提示符处,键入 net start http,然后按 Enter。

然后重启IIS。再试一下,ok了