<error statusCode="404" redirect="Nopage.html"/>
然后,当我访问网址/a.aspx时(网站根目录下不存在a.aspx这个文件)
是会跳到:/Nopage.html?aspxerrorpath=/a.aspx
这一点是没有错的。
但这不能满足我的要求:
aspxerrorpath参数只会把用户试图访问的页面传过来,(即a.aspx)
但如果用户访问的是/a.aspx?id=1
这时仍然是跳转到/Nopage.html?aspxerrorpath=/a.aspx
用户访问时所带的页面参数id=1并没有带过来。
第二:仅访问不存在的aspx时才会跳转到Nopage.html,而访问htm时则不会。比如,我访问
/b.html
(网站根目录同样不存在b.html这个文件)就不会跳到Nopage.html
6 个解决方案
#1
你需要用httpErrors而不是customErrors
https://msdn.microsoft.com/en-us/library/ms690497%28v=vs.90%29.aspx
https://msdn.microsoft.com/en-us/library/ms690497%28v=vs.90%29.aspx
#2
看不懂,没有更多帮助信息了吗?
#3
问题一,从程序角度,无法获取那个参数id=1,IIS是将那个页面转移到Error页面,原页面被丢弃,至于aspxerrorpath参数,是IIS给你的,所以要想取得那个参数,就的研究IIS了,我测试过,那个参数id=1,在IIS 日志里有
问题二,web.config配置只能管辖到aspx。html要设置IIS,在IIS里也有404错误处理,在那里设置转向即可。方法:进去IIS,选中根目录(一般就是计算机名)--->右边窗口(从上到下分ASP.NET,FTP,IIS三大组)--->在IIS里找到”错误页“
问题二,web.config配置只能管辖到aspx。html要设置IIS,在IIS里也有404错误处理,在那里设置转向即可。方法:进去IIS,选中根目录(一般就是计算机名)--->右边窗口(从上到下分ASP.NET,FTP,IIS三大组)--->在IIS里找到”错误页“
#5
1、可以试下通过Request.UrlReferrer能否取到
2、可以查下urlrewrite如何设置html后缀的,然后试验下配置里面是否可以同样配置成html走ISAPI管道
2、可以查下urlrewrite如何设置html后缀的,然后试验下配置里面是否可以同样配置成html走ISAPI管道
#6
非常感谢
#1
你需要用httpErrors而不是customErrors
https://msdn.microsoft.com/en-us/library/ms690497%28v=vs.90%29.aspx
https://msdn.microsoft.com/en-us/library/ms690497%28v=vs.90%29.aspx
#2
看不懂,没有更多帮助信息了吗?
#3
问题一,从程序角度,无法获取那个参数id=1,IIS是将那个页面转移到Error页面,原页面被丢弃,至于aspxerrorpath参数,是IIS给你的,所以要想取得那个参数,就的研究IIS了,我测试过,那个参数id=1,在IIS 日志里有
问题二,web.config配置只能管辖到aspx。html要设置IIS,在IIS里也有404错误处理,在那里设置转向即可。方法:进去IIS,选中根目录(一般就是计算机名)--->右边窗口(从上到下分ASP.NET,FTP,IIS三大组)--->在IIS里找到”错误页“
问题二,web.config配置只能管辖到aspx。html要设置IIS,在IIS里也有404错误处理,在那里设置转向即可。方法:进去IIS,选中根目录(一般就是计算机名)--->右边窗口(从上到下分ASP.NET,FTP,IIS三大组)--->在IIS里找到”错误页“
#4
#5
1、可以试下通过Request.UrlReferrer能否取到
2、可以查下urlrewrite如何设置html后缀的,然后试验下配置里面是否可以同样配置成html走ISAPI管道
2、可以查下urlrewrite如何设置html后缀的,然后试验下配置里面是否可以同样配置成html走ISAPI管道
#6
非常感谢