Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 根据用户尝试的URL使用不同的404错误页_C#_Asp.net_Redirect_Web Config_Http Status Code 404 - Fatal编程技术网

C# 根据用户尝试的URL使用不同的404错误页

C# 根据用户尝试的URL使用不同的404错误页,c#,asp.net,redirect,web-config,http-status-code-404,C#,Asp.net,Redirect,Web Config,Http Status Code 404,(注意:我对asp.net/c相当陌生,请耐心听我说) 在我的网站上,我在我的web.config中使用了一个自定义的404错误页面 <customErrors mode="RemoteOnly" defaultRedirect="http://mywebsite.org/404"> <error statusCode="404" redirect="http://mywebsite.org/404" /> </customErrors> 现在我想添

(注意:我对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页。例如,如果URL包含
/library/
,我希望将用户重定向到
http://mywebsite.org/library-404
,其中包含特定于网站库部分的信息。包含
/services/
的URL和其他URL也是如此


这能做到吗?如果是,怎么做?谢谢您的时间。

您可以尝试使用ASP.NET MVC。设置路由以映射Url。

您可以在Global.asax.cs中定义方法应用程序错误并进行如下处理

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"));
        }
    }
}

您能否举例说明如何将routemap设置为URL?目前来看,这更多的是一个评论,而不是一个答案。