当用户请求找不到的网址时,系统会将其重定向到我的自定义错误页面。此自定义错误页面将不正确的URL作为参数传递,并将其与我服务器上的重定向URL列表进行比较。
如果在此列表中找到了网址,则会将其重定向到相应的网址。
发生的事情是IIS突然改变了生成查询字符串的方式。当我查看事件查看器时,我注意到它有时显示为:
UrlRedirect:/404_301.aspx?401; http://mysite.ca:80/blaaaah/:BEGIN处理网址
其他时间: UrlRedirect:/404_301.aspx?aspxerrorpath=/blaaaah/404.aspx:BEGIN处理网址
这导致与我的自定义错误页面处理URL的方式发生冲突。
有谁知道IIS如何选择设置查询字符串以及如何获得对此的更多控制权?
UPDATE:在确定IIS和ASP.NET都试图处理404并以不同方式重定向它们之后,有没有办法只允许ASP.Net处理404重定向?
.NET重定向: 其他时间:UrlRedirect:/404_301.aspx?aspxerrorpath=/blaaaah/404.aspx:BEGIN处理网址
IIS重定向: UrlRedirect:/404_301.aspx?404; http://mysite.ca:80/blaaaah/:BEGIN处理网址
我只想允许.NET重定向。