[英]ASP.NET URL Rewriting for query strings
為了更加用戶友好的環境,我希望刪除頁面擴展名並查詢字符串不可見。 例如,從http://www.example.com/news.aspx?id=123我希望它是http://www.example.com/news/123 。 我怎樣才能獲得它?
我還想借此機會提出另外兩個問題:
.htaccess
文件或web.config
的規則設置? 謝謝。
您可以使用ASP.Net MVC中引入的URL路由類來實現此目的。 這些類可以在任何.Net Web應用程序中使用,並且不限於MVC版本。
使用“System.Web.Routing”命名空間,您可以將路由定義為規則,例如;
routes.MapPageRoute(
"News Category", // Route name
"News/{*ID}", // Route URL
"~/News.aspx" // Web page to handle route
);
您在global.asax應用程序啟動事件中以與在MVC中相同的方式注冊這些“路由”。
這將允許http://www.domain.com/news/123以與http://www.domain.com/news.aspx?id=123相同的方式在您的Web應用程序中進行解釋。
- 使用URL重寫時,是否必須為每個重寫指定規則
頁?
沒有大多數URL重寫機制允許使用正則表達式來組合URL以使用一個特定規則。
- 哪個更好用於ASP.NET中的URL重寫 -
.htaccess文件或web.config中的規則設置?
使用IIS 7或更高版本時,可以使用IIS URL重寫模塊,請參閱http://learn.iis.net/page.aspx/460/using-the-url-rewrite-module/
使用IIS 6或更低版本時,我更喜歡以下網址重寫模塊: http : //www.urlrewriting.net/但您可以使用其他模塊。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.