(注意:我对asp.net/c#很新,请跟我说)
在我的网站上,我在web.config
中使用了这个自定义404错误页面<customErrors mode="RemoteOnly" defaultRedirect="http://mywebsite.org/404">
<error statusCode="404" redirect="http://mywebsite.org/404" />
</customErrors>
现在我想添加由包含特定字符串的URL“触发”的其他404页面。例如,如果网址包含/library/
,我希望将用户重定向到http://mywebsite.org/library-404
,其中包含特定于网站库部分的信息。包含/services/
和其他网址的网址也是如此。
可以这样做吗?如果是这样,怎么样?谢谢你的时间。
答案 0 :(得分:0)
您可以尝试使用ASP.NET MVC。设置路由以映射URL。
答案 1 :(得分:0)
您可以在 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"));
}
}
}