stackoverflow如何制作网址

时间:2011-01-04 07:14:43

标签: url-rewriting url-routing

我需要知道堆栈溢出是如何在标题名称中创建URL作为页面的.. 如果我问一个问题为how stackoverflow is making url它是否为该问题创建了一个页面,或者它来自db ..如果它来自db,它是如何完成的....

4 个答案:

答案 0 :(得分:3)

它被称为URL重写,专门用于搜索引擎。

猜测一下,我会说正在调用的逻辑网址(逻辑上)是这样的:

stackoverflow.com/questions/index.php?id=4591366

文本位可能只是为了使识别更容易,特别是对于搜索引擎。

index.php可能会加载由该ID标识的问题,在这种情况下,这是您的问题。

答案 1 :(得分:2)

http://stackoverflow.com/questions/4591366/how-stackoverflow-is-making-url
  

4591366 - 问题ID        how-stackoverflow-is-making-url - 在正确处理stackoverflow后如何使用主题创建的字符串

虽然检索问题ID只是足够的,而主题将有助于搜索引擎优化的东西

答案 2 :(得分:2)

该号码是主键。处理实际请求时,将忽略事后的部分。所以:

http://stackoverflow.com/questions/4591366/

http://stackoverflow.com/questions/4591366/made%20up

都工作。

但是,链接和重定向是以这种方式生成的(通过包含标题)用于搜索引擎优化。

答案 3 :(得分:1)

StackOverflow使用ASP.NET MVC Routing来实现其URL。

他们将使用类似于此的路由映射:

"{question}/{id}"

然后在URL中,他们只添加问题的标题,这些标题被路由逻辑忽略但用于搜索引擎优化。

来源: Hanselminutes播客134 - StackOverflow使用ASP.NET MVC - Jeff Atwood及其技术团队http://www.hanselman.com/blog/HanselminutesPodcast134StackOverflowUsesASPNETMVCJeffAtwoodAndHisTechnicalTeam.aspx