我正在尝试在 django/python 中实现类似于堆栈溢出的 URL 方案。
例如,pk 与标题的 slug 一起存储在 URL 中,因此对于这个问题(id #4787731),URL 是
https://stackoverflow.com/questions/4787731/canonical-links-and-301-redirect-if-url-doesnt-match-slug
如果我稍后更改标题(或者只是在 url 中添加一些随机的杂物),那么该站点仍然会知道我在追随哪个问题(通过 ID),并将 301 重定向到正确的 URL - 例如尝试。
https://stackoverflow.com/questions/4787731/canonical-links-MODIFIED-URL
所以
在我的页面中包含规范链接的最佳方式是什么,例如
<link rel="canonical" href="https://stackoverflow.com/questions/4787731/canonical-links-and-301-redirect-if-url-doesnt-match-slug">
(我可以使用 get_absolute_url)
- 识别当前 URL 与规范链接不匹配并发出 301 的最佳方法是什么?
注意 - 这个问题是相似的,但只解决了动态或静态生成 slug 的情况。