如何在ASP.NET中重寫URL?ASP.NET URL重寫
我希望用戶能夠轉到http://www.website.com/users/smith,而不是http://www.website.com/?user=smith
如何在ASP.NET中重寫URL?ASP.NET URL重寫
我希望用戶能夠轉到http://www.website.com/users/smith,而不是http://www.website.com/?user=smith
嘗試管理融合網址重寫和反向代理:
http://urlrewriter.codeplex.com
改寫這個規則會be:
# clean up old rules and forward to new URL
RewriteRule ^/?user=(.*) /users/$1 [NC,R=301]
# rewrite the rule internally
RewriteRule ^/users/(.*) /?user=$1 [NC,L]
一個建議:我會調整第一個RewriteRule看起來像^ /?用戶=(\ w *)以便http://www.website.com/?users=smith&day=monday不生成http://www.website.com/users/smith&day=monday – Dscoduc 2009-02-06 17:13:32
這是一個好主意,並完全支持這個.NET版本。最初的意圖是讓我的示例與不支持該語法的mod_rewrite兼容。 – 2009-05-26 16:14:42
這太棒了。 – 2009-08-16 07:52:53
Scott Guthrie介紹瞭如何在.Net中原生地完成這項工作here。
我已經使用了httpmodule方法,它工作得很好。這基本上是ManagedFusion爲您做的。
我已經使用了從URL重寫www.urlrewriting.net取得了巨大成功的HTTP模塊(雖然我相信早得多,簡單的版本)
如果你有很少的實際重寫規則,那麼內置於.NET 2.0的URL映射可能是一個更容易的選擇,網上有幾個這樣的寫法,4guysfromrolla似乎是相當詳盡的,但你可以看到它們不支持正則表達式映射,因爲它們在動態環境中顯得相當無用(假設「史密斯「在你的例子中是不是一個特例,那麼這些將是沒有用的)
微軟現在發運一個官方URL重寫Mod對於IIS:http://www.iis.net/download/urlrewrite
它支持大多數類型的重寫,包括設置服務器變量和通配符。
它也將在所有開箱即用的Azure Web實例上存在。
對於一步一步的解釋按照下面的鏈接:http://challadotnetfaq.blogspot.com/2011/08/url-rewritting-in-aspnet.html – 2011-08-03 12:26:13