另一種方法是使用ASP.NET路由(從.NET 3.5開始)創建將每個舊頁面映射到新頁面處理程序的路由。 ASP.NET路由可以讓一個ASPX頁面擁有多個Url,並且實際上可以完全隱藏最終用戶的.ASPX,並且可以爲您的所有頁面提供搜索引擎友好的Url。如果您將多個網址映射到一個網頁上,則您需要在網頁上放置規範網址標記。
或者
如果你想重定向你可以用一個簡單的重定向路由處理這樣的註冊路線: -
routes.Add(new Route("sample.aspx", new RedirectRouteHandler("/home/newsample.aspx")));
而且RedirectRouteHandler可能是這個樣子: -
/// <summary>
/// Redirect Route Handler
/// </summary>
public class RedirectRouteHandler : IRouteHandler
{
private string newUrl;
public RedirectRouteHandler(string newUrl)
{
this.newUrl = newUrl;
}
public IHttpHandler GetHttpHandler(RequestContext requestContext)
{
return new RedirectHandler(newUrl);
}
}
/// <summary>
/// <para>Redirecting MVC handler</para>
/// </summary>
public class RedirectHandler : IHttpHandler
{
private string newUrl;
public RedirectHandler(string newUrl)
{
this.newUrl = newUrl;
}
public bool IsReusable
{
get { return true; }
}
public void ProcessRequest(HttpContext httpContext)
{
httpContext.Response.Status = "301 Moved Permanently";
httpContext.Response.StatusCode = 301;
httpContext.Response.AppendHeader("Location", newUrl);
return;
}
}
您運行的是哪個版本的IIS? – David 2010-04-20 21:52:46