簡體   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