[英]How to show the visitor a moved web page AND return a 301 redirect HTTP response status code in Django?
from django import http
return http.HttpResponsePermanentRedirect('/yournewpage.html')
浏览器将获取301, /yournewpage.html
预期访问/yournewpage.html
。 另一个答案在技术上是正确的,因为python本身不处理重定向,浏览器本身是。 这是幕后发生的事情:
Browser Python HTTP
-------------------> GET /youroldpage.html HTTP/1.1
<------------------- HTTP/1.1 301 Moved Permanently
Location: /yournewpage.html
-------------------> GET /yournewpage.html HTTP/1.1
你不能
301是浏览器直接作用的HTTP返回代码。 许多站点通过首先将用户发送到告诉用户有关更改的重定向器页面,然后X秒钟后将其发送到新页面来处理这两个问题。 但是重定向页面必须具有200个代码。
一个小的变体是(通过IP和/或用户代理)来检测搜索引擎的蜘蛛,并给他们的301这样的搜索结果指向您的新的一页。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.