创建一个自定义404页面来处理ASP的链接重定向。净的web应用程序

一段时间以来,我一直想记录如何建立一个自定义的404页,可以处理链接重定向的ASP.NET Web应用程序。就我而言,我只是需要定制404行为处理自定义重定向的DotNetNuke的网站,我设置了。但是,其他人可能会发现处理损坏的链接或其他创造性的错误处理行为,他们希望建立到自己的网站/应用中执行这些步骤。

总之,设置这第一步是创建自定义404.aspx页。在我的情况该网页看起来是这样的:

<%@ Page Language="VB" runat="server" %> if InStr(strURL, UCase("oldpage1.htm")) <> 0 then

<脚本语言=“vb”runat = " server " >

小组的Page_Load()

昏暗strURL,arpath,strFile

strURL = UCase (request.servervariables(“QUERY_STRING”))

arPath = Split(strURL, "/")

strFile = arPath (UBound (arPath 1))

响应。重定向(“/事件/ default . aspx”)

elseif InStr(strURL, UCase("oldpage2.htm")) <> 0 then

响应。重定向(“/出版物/ default . aspx”)

elseif InStr(strURL, UCase("ic-folder")) <> 0 then

响应。重定向("/Site/Files/" & strFile)

其他的

lblFileString。文本= strFile

如果

终止子

> < /脚本

< html >

< meta name = "机器人"内容= " noindex, nofollow”>

mysite.com - 404页面未找到

< / >头

<体BGCOLOR = “#FFFFFF”>

<用户控件:头runat = " server " / >

页面未找到(404错误)

< asp:面板id = " pnlValid404 " runat =“服务器”>

无法定位。

> < / asp:面板

> < / asp:面板

身体< / >

< / html >

在上面的代码中,您会注意到aspx页面的第一部分由一些逻辑组成。当遇到404错误时,该逻辑决定将请求者重定向到何处。例如,如果你有一个页面存在,但是已经被删除了,而碰巧还有一堆引用该页面的营销材料。你可以添加到if,elseif,else,然后语句可能是这样的:

ELSEIF InStr函数(strURL,用Ucase( “oldmarketingpage2.htm”))<> 0,则

响应。重定向(“/纽马克特/ default . aspx”)

属性中所示的需要修改整个路径的结构更改也是如此ic-folder语句的一部分。然后,在语句的最后是您想为实际的404错误(不是有意的)添加的任何逻辑。毕竟,在一天结束的时候,你仍然需要告诉网站访问者某个页面、链接等是无效的。

创建此页面后,下一步是将其命名为类似404的名称。aspx并将其转储到一个类似ServerErrors的文件夹中。接下来,需要打开站点/应用程序web。配置并通过修改customErrors标签来打开自定义错误,如下所示:

< customErrors模式= " " >

<错误statusCode = " 404 " = " / ServerErrors / 404重定向。aspx " / >

< / customErrors >

注意,对于所有404错误,我们现在都将重定向到404。aspx页面,这是在前两个步骤中创建的。最后,您还需要修改IIS站点属性,以便自定义404页面用于所有404错误。为此,打开Internet服务管理器。然后在您的站点上,单击鼠标右键,选择Properties,然后转到Custom Errors选项卡。接下来,找到404 HTTP错误,选择它并编辑它的属性。在“错误映射属性”对话框中,将消息类型更改为URL并将URL设置为/ServerErrors/404.aspx。

做……现在,您已经完成了自定义404页面的设置。

如果你喜欢这篇文章,可以看看泰森的其他文章:

如果你愿意,你也可以看看泰森的最新出版物:

最后,请访问微软子网浏览更多来自互联网的新闻、博客和观点。或者报名参加每两周微软简报(点击新闻/微软新闻警报)

加入网络世界社区有个足球雷竞技app脸谱网LinkedIn对最重要的话题发表评论。
相关:

©2008Raybet2

工资调查:结果在