如何获得Stack Overflow等干净的URL?

Sha*_*kar 22 .net architecture httphandler url-routing

在某些.NET驱动的站点上,URL不以asp.net页面名称结尾,例如default.aspx,而是使用模式http://sitename.comhttp://sitename.com/subdirectory/subdirectory.该站点被映射为根目录下的子目录,即./ tags,/ users,/ badges,URL分别是/ tags,/ users,/ badges.

Stack Overflow,使用一个特定的例子,使用表单的问题URL 如何获得像Stackoverflow这样的干净URL?.这是优化搜索引擎页面的好方法.

这是使用HTTP处理程序实现的吗?GET请求是否根据路径进行过滤,整个响应是根据问题ID在处理程序本身中形成的?还有其他人在乎推测吗?

Dou*_*g R 23

这是ASP.Net MVC,它内置了.Net路由.路由也适用于非MVC项目,尽管

http://msdn.microsoft.com/en-us/library/cc668201.aspx

它只是一个.dll你可以放在bin文件夹中.基本上它使用正则表达式来匹配您的URL与页面/模板.


Sam*_*son 18

这是通过Apache中的mod_rewriteIIS上类似的url_rewriting方法实现的.

注意:SOFlow使用后者.

  • 我说它使用Apache吗?没有.提问者对URL的工作方式很感兴趣.他没有说明他对从.NET角度如何工作感兴趣.我为Apache和IIS提供了答案. (7认同)
  • @Bryan,我同意他使用SO作为例子,但我们不应该假设他必须只期望SO使用的技术(因为他显然不知道他们开始的是什么).我是一名PHP开发人员,但我可能会问"SO是如何实现x ..."所以我可以在我自己的技术领域内模仿它.我只是想确保在回答问题时我没有做太多假设:)感谢++; (5认同)

vic*_*ugo 5

URL遵循REST原则的格式,其中所有内容都是具有唯一URL的资源.

我想我在博客中的某个地方读到这是通过使用ASP.NET MVC框架实现的.