0

SO 问题的 URL 格式如下:

https://stackoverflow.com/questions/123456/description-from-title-of-question

我已经知道是使用 MVC 路由完成的,而我自己也在做。

当您转到相同的 URL,但最后没有友好位时:

https://stackoverflow.com/questions/123456

然后 StackOverflow 为您添加了友好的位,您最终在浏览器地址栏中得到相同的地址:

https://stackoverflow.com/questions/123456/description-from-title-of-question

我的问题是,如何做到这一点?它是否涉及到数据库,获取标题描述并重定向到最后包含标题的路由(创建新请求)?或者 MVC 路由中有什么东西可以处理这个问题?还是通过 javascript 或其他方式添加客户端?

我也很想听听其他人对这样做的好方法的看法,以及如何做到这一点。

4

1 回答 1

1

这不是 MVC 路由,它们从 URL 中获取 ID 并将 ( HTTP 302) 重定向到完全合格的 SEO 友好 URL。也就是说,重定向是由服务器完成的,而不是使用 JavaScript。

他们使用广泛的缓存,因此大多数时候他们不获取数据库,而是获取内存中的映射表或一些二级缓存,例如 Redis。

阅读有关 StackOverflow 缓存的深入概述:https ://meta.stackexchange.com/a/69172

于 2013-09-03T09:41:05.290 回答