报错信息如下:
HTTP错误404.13-NotFound
请求筛选模块被配置为拒绝超过请求内容长度的请求。
详细错误信息
模块 | RequestFilteringModule |
---|---|
通知 | BeginRequest |
处理程序 | PageHandlerFactory-Integrated |
错误代码 | 0x00000000 |
请求的URL | http://cathychen:81/Admin/VideoCenter/uploadvideo.aspx?tid=T20101118000123&site=BJ&team=AP |
---|---|
物理路径 | D:\websites\Admin\VideoCenter\uploadvideo.aspx |
登录方法 | 尚未确定 |
登录用户 | 尚未确定 |
最可能的原因:
-
Web服务器上的请求筛选被配置为拒绝该请求,因为内容长度超过配置的值。
可尝试的操作:
-
确认applicationhost.config或web.config文件中的configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength设置。
链接和更多信息这是一项安全功能。请不要更改此功能,除非您完全清楚更改的影响范围。您可以配置IIS7.0服务器以拒绝内容长度大于指定值的请求。如果请求的内容长度大于所配置的长度,便会返回此错误。如果需要增加内容长度,请修改configuration/system.webServer/security/requestFiltering/requestLimits@maxAllowedContentLength设置。
解决方案1:
在Web.Config檔中加入下列設定:
<configuration>
<system.web>
<httpRuntimemax RequestLength="4096"executionTimeout="120"/>
</system.web>
</configuration>
設定說明:
1.maxRequestLength這個屬性是限制文件上傳大小,是以KB為單位,而預設值為4096KB,而最大上限為2097151KB,大約是2GB限制。
2.executionTimeout屬性則是上傳逾時的時間,以秒為單位,預設為90秒,如果您考量到您所設計的Web應用系統上載時間需要超過90秒可延長設定值。
解决方案2:
打开你系统盘(我是C盘),找到C:\Windows\System32\inetsrv\config\schema目录,该目录下有一个IIS_schema.xml,右击打开文件,Ctrl+F,然后输入"
<attributename="maxAllowedContentLength"type="uint"defaultValue="30000000"/>",找到该配置节点,我们看到有一个defaultValue=30000000,不错,就是它限制了上传文件的大小,既然找到了,那就让咱来把它修改掉吧,暂且把3改为5(50M左右)试试吧!
1、停止IIS7
2、找到“C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml”文件。
这个文件是只读的,即使用管理员权限也不能修改。要先修改文件的权限,然后去掉只读属性才可以。
1.右键文件->属性->安全,选中目标用户,点击高级,修改文件所有者;
2.确定后点击编辑,就可以修改当前用户的权限了,添加“写入”权限。至此,权限设置OK了。
3.将文件的只读属性去掉。
用记事本打开该文件,找到“”,将“30000000”修改为你想要的值(如2000000000)保存。
将“C:\Windows\System32\inetsrv\config\schema\IIS_schema.xml”文件加上只读属性。
另:虚拟目录使用共享文件夹的权限问题:
1、到webconfig文件中,修改条目
<identity impersonate="true" userName="domian\user" password="password" />
2、共享目录服务器,对目录的权限添加该用户的读写修改权限
本文转自 yuxye 51CTO博客,原文链接:http://blog.51cto.com/fishvsfrog/1328338