2012-01-15 69 views
0

作爲網址縮短服務的一部分,我需要用戶能夠訪問諸如example.com/1Bta62之類的網址,最終在example.com/view.aspx?id=1Bta62處,而example.com/1Bta62則保留在其瀏覽器地址欄中。如何才能做到這一點?我使用的是Windows服務器(項目是C#ASP.NET);我寧願不必使用腳本(即只是在web.config中的東西會很好),但歡迎任何方法的答案。動態生成以上1Bta62之類的url結尾。如何將例如example.com/1Bta62的網址改寫爲example.com/view.aspx?id=1Bta62,而用戶仍然看到example.com/1Bta62?

在此先感謝!

編輯:有沒有人實際管理/知道如何做到這一點與web.config文件 - 我認爲這可以做到?

回答

0

我會推薦Url Rewrite Module,它已被設計來做到這一點。這是一個IIS模塊,無需對應用程序進行更改。

IIS URL重寫2.0使Web管理員可以創建功能強大的 規則來實現更易於用戶記憶和 更容易被搜索引擎找到的網址。通過使用規則模板,重寫 映射,.NET提供程序和其他功能集成到IIS管理器中,Web管理員可以輕鬆地設置規則來定義URL重寫行爲的基礎HTTP標頭,HTTP響應或請求 標頭,IIS服務器變量,甚至是複雜的程序規則。在 此外,網絡管理員可以執行重定向,發送自定義 響應,或停止HTTP請求

更新:

在RouteMagic看看: http://haacked.com/archive/2011/01/30/introducing-routemagic.aspx

+0

這看起來很有趣,我使用的是共享主機服務 - 我可以使用此功能而無需控制IIS? – James 2012-01-15 20:03:05

+1

不幸的是沒有。已更新答案 – 2012-01-16 11:45:18

-1

,請嘗試註冊在區域的路由註冊。例如,對於例如,

context.MapRoute(
      "Myproject_default", 
      "Myproject/{controller}/{action}/{id}", 
      new { controller = "Myproject", action = "index", id = UrlParameter.Optional } 
     ); 
+0

-1 - 哪個區域?它與問題有什麼關係? – 2012-01-16 11:46:53

+0

我該如何實施解決問題的領域(我認爲這是可能的)? – James 2012-01-16 20:24:08

相關問題