2011-07-07 149 views
1

我有一個網站,一旦登錄就會導航到不同的域。 我需要重新編寫url,方法是移除URL的aspx頁面並添加它所導航的域名to.Also我想重寫一個https頁面中的URL,它將從一個http頁面重定向。 例如: - 從網站www.xyz.com它已被重定向到www.abc.com.so該網址應該顯示爲www.abc.com/xyz 任何人都可以幫助我嗎?在asp.net中的URL重寫

+0

[在asp.net URL重寫]的可能重複(http://stackoverflow.com/questions/6620169/url-rewrite-in-asp-net) –

回答

1

這通常在ASP.NET MVC中完成,這叫做ASP.NET Routing。這在ASP.NET WebForms中也很適用。

您還可以使用IIS模塊調用IIS Rewrite,這有點像阿帕奇mod_rewrite的,如果你知道如何工作的。

Here是關於如何讓它工作的教程。

從MSDN關於ASP.NET路由:

在Web窗體應用程序,通過使用 的MapPageRoute(字符串,字符串,字符串)的RouteCollection類的 方法創建 路線。 MapPageRoute方法創建一個 路由對象,並將其添加到 RouteCollection對象。你在你傳遞給 的MapPageRoute方法 參數指定路由對象 屬性。

通常情況下,你的方法 是從處理程序要求 的Application_Start事件中 Global.asax文件添加路由。這種方法使得 確保應用程序啓動時路由可用 。它還 使您能夠調用的方法 時直接單元測試 應用。如果你想直接調用 方法,當你單元測試的 應用程序,註冊 路由必須是靜態的方法(在 Visual Basic中共享),必須有一個 RouteCollection參數。

下面的示例示出了從 ,增加了一個路由 對象,它定義兩個網址參數 命名動作和類別名稱一個Global.asax文件的代碼。網址 具有指定的圖案是 指向名爲 Categories.aspx物理頁。

這是您的Global.asax:

protected void Application_Start(object sender, EventArgs e) 
{ 
    RegisterRoutes(RouteTable.Routes); 
} 

public static void RegisterRoutes(RouteCollection routes) 
{ 
    routes.MapPageRoute("", 
     "Category/{action}/{categoryName}", 
     "~/categoriespage.aspx"); 
}