如果输入错误,SO URL如何自我纠正?

时间:2011-03-20 16:54:27

标签: asp.net-mvc

如果在stackoverflow.com域上的URL中意外添加了一个额外字符(如句号,逗号或括号甚至字母),则不会抛出404错误页面。相反,URL自我纠正自己&用户被引导到相关网页。

例如,当您访问以下网址时,我添加到有效SO网址末尾的额外4个字母将自动删除 - https://stackoverflow.com/questions/194812/list-of-freely-available-programming-booksasdf

我想这与ASP.NET MVC路由有关。这个功能是如何实现的?

2 个答案:

答案 0 :(得分:2)

嗯,我猜这很简单,即使不知道它背后的代码: 该文本只是搜索引擎和阅读URL的人的糖果:

This URL will work as well, with the complete text removed!

唯一真正重要的部分是问题ID,它也嵌入在“路径”中。

答案 1 :(得分:1)

这是因为忽略http://stackoverflow.com/questions/194812之后的所有事情。只是在那里发布链接,如果发布在某个地方,如果更多的话。

在内部,URL被映射到处理程序,例如,通过重写,转换为类似:http://stackoverflow.com/questions.php?id=194812(仅作为示例,不知道正确的内部URL)

这也使得URL搜索引擎更友好,除了对人类更具可读性。