2017-05-23 70 views
0

我正在开发一个经典的ASP网站项目,并尝试添加一个Web窗体,该窗体将从用户收集数据并将该数据发布到API。我的网络应用程序位于wwwroot \ subdir \ myapp,我的目标是在web.config中的.NET框架4.6.1。当我导航到浏览器中的网站(mydomain.com \ subdir \ myapp或mydomain.com \ subdir \ myapp \ Default.aspx)时,它会给我一个404错误。如果我重新加载一次,则会收到第二个404错误。但是,在第三次加载时,网站会在浏览器控制台中加载所有资源(JavaScript/HTML/CSS),而不会出现任何错误。ASP.NET 4.6.1 Web窗体页面404问题

我检查了Web服务器(IIS 8.5)日志,前两个负载正在返回404.19错误。根据[1],此错误表明IIS由于过滤规则而拒绝对页面的请求。但是,如果是这样的话,为什么会在第三个请求中加载呢?

[1] https://support.microsoft.com/en-us/help/943891/the-http-status-code-in-iis-7.0,-iis-7.5,-and-iis-8.0

回答

0

网站目录的检查安全属性。应用程序池的用户应该具有读访问权限。 (默认是IUSR)。

+0

我检查了我的新Web表单目录和网站根目录的安全属性。我有两个组,IUSR和IIS_IUSRS,都可以读取wwwroot和wwwroot \ subdir \ myapp。 – kmangame0

+0

你有没有检查https://stackoverflow.com/questions/28276969/http-error-404-19-not-found-in-iis-8-5?也许查询字符串或友好名称使不同。还请检查IIS网站配置中的过滤规则。 – MarBog

0

我想出了这个问题。正在逐个分析URL,并将其与与SQL注入关联的关键字列表完全匹配进行比较。造成我的错误的词是“更新”。通过在IIS管理器中为.aspx请求设置失败请求追踪规则,我能够找出解决方案。