4

我在一个网站上工作,该网站之前是用 ASP.NET Web Forms 构建的,现在是用 ASP.NET MVC 构建的。

我们上周发布了新的 MVC 版本。

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

所以我想知道将用户从旧 url 重定向到新的 mvc url 是www.website.com/account/login的最简单和最好的方法

就像这个登录网址一样,我希望用户也可能已经为其他几个网址添加了书签,那么处理这个问题的最佳方法是什么?

4

2 回答 2

6

您可以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

于 2013-04-01T05:59:37.173 回答
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");
        }
    }
于 2013-04-01T05:50:50.157 回答