ASP.NET MVC中的URL重定向

时间:2013-04-01 04:55:07

标签: asp.net asp.net-mvc-4 asp.net-mvc-routing webforms

我正在使用之前使用ASP.NET Web Forms构建的网站,现在使用ASP.NET MVC构建。

我们上周制作了新的MVC版本。

www.website.com/login.aspx 的旧登录网址已被许多用户添加为书签,他们仍然使用它,因此会出现404错误

所以我想知道哪个是将用户从旧网址重定向到新的mvc网址的最简单最好的方法,即 www.website.com/account/login < /强>

就像这个登录网址一样,我希望用户可能还会为其他网址添加书签,那么最好的办法是什么呢?

2 个答案:

答案 0 :(得分:6)

您可以在IIS中使用URL Rewrite module。这就像在<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

答案 1 :(得分:5)

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