如何制作没有文件扩展名的ASPX网页?

时间:2009-07-14 20:05:33

标签: asp.net url

我注意到stackoverflow.com的页面上没有文件扩展名。我如何使用aspx网站进行此操作?

6 个答案:

答案 0 :(得分:7)

以下是斯科特格思里的精彩文章:

http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx

它涵盖了所有方案:IIS 6,IIS7,使用第三方URL重写工具等。

答案 1 :(得分:6)

这些网址实际上并不指向文件。他们使用URL重写规则将URL转换为数据库查询,并将输出反馈给指定的页面(不显示其URL)。

修改以便澄清 SO使用MVC,因此url指向特定的控制器操作(有或没有参数,具体取决于页面)。该操作运行一些代码来获取数据或其他任何内容并将其传递给相应的视图,该视图基本上是一个html模板,用于填充操作提供的信息并呈现页面。

答案 2 :(得分:6)

MVC

他们使用MVC

答案 3 :(得分:5)

Stack Overflow使用ASP.NET MVC,它可以清除URL。

基本上你需要的东西是获取干净的URL然后将它映射到标准的.NET URL,并传入额外的“目录”作为参数。例如重写/博客/ post-no-one到/blog.aspx?id=post-no-one。

新的IIS有一个重写插件,如果你想用传统的ASP.NET做这件事就可以做到这一点:

Using URL rewrite module

或者你可以通过覆盖HttpModule并在那里进行重写来自己动手。这是一个复杂的例子:

URL rewriting engine

答案 4 :(得分:2)

正如一些人所提到的,SO正在使用MVC附带的URL路由引擎。他们实际上已经通过CodePlex提供了代码,因此您可以在基于Webforms的ASP.NET站点中使用它。

Phil Haack对如何做到这一点有一个很好的总结:

Routing w/WebForms

它包括有助于您入门的样本,链接等。

答案 5 :(得分:0)

如果您仍然希望在不使用MVC路由(MVC很棒,顺便说一句)的情况下使用ASP.Net,则可以使用HTTP处理程序路由请求。

http://msdn.microsoft.com/en-us/library/ms227675(v=vs.100).aspx