繁体   English   中英

如何显示访问者已移动的网页并在Django中返回301重定向HTTP响应状态代码?

[英]How to show the visitor a moved web page AND return a 301 redirect HTTP response status code in Django?

将网页移至新位置后,如何显示移动的网页并在Django中返回301永久重定向HTTP响应状态代码?

   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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM