网址出现error.aspx?aspxerrorpath=404.htm?aspxerrorpath=的原因及解决办法<转>
网址出现aspxerrorpath=的问题描述
1.网页打不开了,输入网址后就提示error.aspx?aspxerrorpath=/about-us.html,到底是什么原因啊?
2.ASP网站自定义了404错误页,但访问不存在的网址时网址错误页后面总多出aspxerrorpath参数,怎么解决呢?
3.万方数据库检索时打开是空白页,访问http://www.sowsoy.com/zmd/tbzmd-catindex.htm时,为什么得到的网址是……/404.html?aspxerrorpath=tbzmd-catindex.htm?
网址出现aspxerrorpath=的原因
这是一种处理出错的机制,如果网站程序出现异常,或者访问者没权限或操作有错误,就会通过重定向专业错误显示页面上,同时在错误显示页面的网址中增加此参数,如果不定向到这个页面程序就会报简单的页面不存在或者错误提示白页。
1.web.config配置文件配置了错误页,用户访问了不存在的网址
现在网站通常会自定义了404错误页,当访问的网址不存在时,如果重定向到自定义的404错误页,网址中就可能添加aspxerrorpath=参数。web.config中的customErrors可以定义404错误页,详细配置参数请参考web.config中<customErrors>节点详解,比如某网站的配置文件如下:
<customErrors mode="RemoteOnly" >
<error statusCode="404" redirect="/error.html"/>
</customErrors>
...
这里将customErrors mode设置成了RemoteOnly,当远程访问该网站的一个不存在的页面时,就会自动转向error.html页面,看到的网址就是error.html?aspxerrorpath=……
2.网站代码运行错误
如网站代码dll同页面不匹配,运行时导致系统出错,转到错误页也会出现该问题。
3.网站被黑客入侵
网站被黑客入侵后,用户访问的正常页面可能会被恶意跳转,如果跳转到不存在的页面,再加上404错误的跳转设置,网址中就可以出现aspxerrorpath=参数。
网址出现aspxerrorpath=的解决办法
1.将web.config中的customErrors设置成Off
这时自定义404错误页失效,如果用户访问不存在的网页,浏览器会爆出网页不存在的简单页面,如果希望看到自己定义的错误页面,可以在服务器上设置自定义错误页。
2.重新编译网站代码
如果是网站代码错误,重新编译代码后更新到服务器即可解决此问题。
3.修复网站
如果网站被黑客入侵,你可以通过这些方式尝试修复网站。
IIS URLScan module禁用URLs中带aspxerrorpath=参数查询字符串去访问您的ASP.NET应用程序的方法
首先需要安装 URLScan ,安装完成后,找到配置文件
%windir%\system32\inetsrv\urlscan\UrlScan.ini
并打开,在 UrlScan.ini 的底部,可以找到 [DenyQueryStringSequences] 区。在区域下加 “aspxerrorpath=” ,示例如下,然后保存文件
aspxerrorpath=
这个功能是为了禁用 URLs 中有 “aspxerrorpath=” 查询字符串去访问您的ASP.NET应用程序,并且web服务器返回 HTTP 错误。
保存之后,运行 “iisreset” (管理员权限下)使其生效。为了查看是否生效,您用包含那个查询字符串的URL,可以访问您的站点或者应用程序,看看是否有 HTTP 错误从IIS中发出。