|
|
1
7
下面是Scott Guthrie的一篇精彩文章: http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx 它涵盖了所有场景:IIS6、IIS7、使用第三方URL重写工具等。 |
|
3
6
URL实际上并不指向文件。他们使用URL重写规则将URL转换为数据库查询,并将输出反馈到指定页面(其URL未显示)。 编辑: SO使用MVC,因此url指向特定的控制器操作(带或不带参数,取决于页面)。该操作运行一些代码来获取数据或其他内容,并将其传递到相应的视图,该视图基本上是一个html模板,用于填充操作提供的信息并呈现页面。 |
|
|
4
5
堆栈溢出使用ASP.NET MVC,它会立即清除URL。 基本上,您需要的是一种将干净的URL映射到一个标准的.NET URL,并将额外的“目录”作为参数传入。e、 g.重写/blog/post no one to/blog.aspx?id=post no one。 新的IIS有一个重写插件,如果您想使用传统的ASP.NET执行此操作,它将为您执行此操作: 或者您也可以通过覆盖HttpModule并在其中进行重写来实现自己的功能。下面是一个复杂的例子: |
|
|
5
2
正如一些人提到的,使用MVC附带的URL路由引擎也是如此。他们实际上已经通过CodePlex提供了代码,因此您可以在基于webforms的ASP.NET站点中使用它。 Phil Haack对如何做到这一点有一个很好的总结:
|