根据用户尝试的URL使用不同的404错误页面
本文关键字:错误 用户 URL | 更新日期: 2023-09-27 18:20:22
(注意:我对asp.net/c#很陌生,请耐心等待)
在我的网站上,我在web.config 中使用了一个自定义的404错误页面
<customErrors mode="RemoteOnly" defaultRedirect="http://mywebsite.org/404">
<error statusCode="404" redirect="http://mywebsite.org/404" />
</customErrors>
现在我想添加另外404个页面,这些页面是由包含特定字符串的URL"触发"的。例如,如果URL包含/library/
,我希望用户重定向到http://mywebsite.org/library-404
,其中包含特定于网站库部分的信息。包含/services/
和其他内容的URL也是如此。
这能做到吗?如果是,如何?谢谢你抽出时间。
您可以尝试使用ASP.NET MVC。设置路由以映射Url。
您可以在Global.asax.cs中定义方法Application_Error,并像这样处理
void Application_Error(object sender, EventArgs e)
{
var error = Server.GetLastError();
var code = (error is HttpException) ? (error as HttpException).GetHttpCode() : 500;
string path = Request.Path;
if (code == 404)
{
if (new Regex(@"'/library'/", RegexOptions.IgnoreCase).IsMatch(path))
{
Server.ClearError();
Response.Redirect(String.Format("~/Library/Error404"));
}
}
}