在ASP.NET MVC URL重定向(URL Redirection in ASP.NET MVC

2019-08-18 12:11发布

我工作的这一点我们已经在ASP.NET Web窗体建成,现在是建立与ASP.NET MVC网站。

我们作出了新的MVC版本上周直播。

但旧的登录URL是www.website.com/login.aspx已经书签被很多用户,他们仍然使用,因此他们得到404错误。

所以我想这将是用户从旧的URL到新的MVC网址被重定向www.website.com/account/login最简单,最好的方法

这样的登录URL,我期待的用户可能已经收藏其他几个网址也,所以这将是处理这个最好的方法是什么?

Answer 1:

您可以使用URL Rewrite module在IIS。 这就像把你的下面的规则简单<system.webServer>部分:

<system.webServer>
    <rewrite>
        <rules>
            <rule name="Login page redirect" stopProcessing="true">  
                <match url="login.aspx" />  
                <action type="Redirect" redirectType="Permanent" url="account/login" />  
            </rule>  
        </rules>
    </rewrite>

    ...
</system.webServer>

该模块是非常强大的,让你任何种类的重写和重定向。 下面是其他一些sample rules



Answer 2:

在Global.asax

void Application_BeginRequest(Object source, EventArgs e)
    {
        //HttpApplication app = (HttpApplication)source;
        //HttpContext context = app.Context;

        string reqURL = HttpContext.Current.Request.Url;

        if(String.compare(reqURL, "www.website.com/login.aspx")==0)
        {
            Response.Redirect("www.website.com/account/login");
        }
    }


文章来源: URL Redirection in ASP.NET MVC