为了更加用户友好的环境,我希望删除页面扩展名并查询字符串不可见。例如,从http://www.example.com/news.aspx?id=123开始,我希望它为http://www.example.com/news/123。我怎样才能获得它?
我还想借此机会提出另外两个问题:
.htaccess
文件或web.config
中的规则设置?感谢。
答案 0 :(得分:1)
您可以使用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。
Here's a recent article on using the MVC routing namespace in a traditional aspx application.
答案 1 :(得分:0)
- 使用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/的URL重写模块,但您可以使用其他模块。