我很确定stackoverflow.com是用ASP.NET创建的,但无论我在哪里点击,我都看不到地址栏中的.aspx扩展名.它是如何完成的,有什么特别的原因吗?
在stackoverflow的情况下,它们使用ASP.NET MVC而不是ASP.NET Web表单.对于Web表单,url指向磁盘上的文件,而MVC指向控制器操作.如果您使用的是webforms,则需要使用URL重写.Scott Guthrie有一篇关于URL重写的好文章.
此站点使用ASP.NET MVC框架和Urls映射来路由而不是物理页面.路径将传递给控制器,然后控制器决定如何显示页面.
最有可能的是它通过URL重写完成...
网络服务器正在使用浏览器地址栏中的URL,并将其重新发布到幕后的ASPX页面
这可以在.NET HTTP模块中完成,也可以在IIS中作为ISAPI Handler完成
Scott Gutherie在他的网站上有一篇关于URL重写的好文章
http://weblogs.asp.net/scottgu/archive/2007/02/26/tip-trick-url-rewriting-with-asp-net.aspx
您可以通过修改web.config文件来实现。