HTTP 301 - HTTP 301

HTTP-svarets statuskode 301 Flyttet permanent bruges til permanent omdirigering, hvilket betyder at aktuelle links eller poster ved hjælp af den URL, som dette svar modtages for, skal opdateres. Den nye URL skal angives i feltet Placering, der er inkluderet i svaret. 301-omdirigering betragtes som en bedste praksis for opgradering af brugere fra HTTP til HTTPS.

RFC 2616 siger, at:

  • Hvis en klient har linkredigeringsfunktioner, skal den opdatere alle referencer til anmodnings-URL'en.
  • Svaret kan caches, medmindre andet er angivet.
  • Medmindre anmodningsmetoden var HEAD, skal enheden indeholde en lille hypertekstnote med et hyperlink til de nye URL'er.
  • Hvis 301-statuskoden modtages som svar på en anmodning af en hvilken som helst anden type end GET eller HEAD, skal klienten spørge brugeren inden omdirigering.

Eksempel

Kundeanmodning:

GET /index.php HTTP/1.1
Host: www.example.org

Serversvar:

HTTP/1.1 301 Moved Permanently
Location: https://www.example.org/index.asp

Her er et eksempel, der bruger en .htaccess- fil til at omdirigere en ikke-sikker URL til en sikker adresse uden den førende "www":

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://example.com/$1 [R,L]

Her er et eksempel ved hjælp af Perl CGI.pm :

print redirect("https://example.com/newpage.html");

Her er et eksempel på en PHP- omdirigering:

<?php
header("Location: https://example.com/newpage.html", true, 301);
exit;

Tilsvarende simpelt til en nginx- konfiguration:

location /old/url/ {
    return 301 /new/url/;
}

Her er en måde at omdirigere ved hjælp af Express.js :

app.all("/old/url", (req, res) => {
    res.redirect(301, "/new/url");
});

Søgemaskiner

Både Bing og Google anbefaler, at du bruger en 301-omdirigering til at ændre URL-adressen på en side, som den vises i søgemaskinens resultater, forudsat at URL'en ændres permanent og ikke skal ændres igen snart.

Se også

Referencer

Bibliografi

301 HTTPS