HTTP 301 - HTTP 301

Kod stanu odpowiedzi HTTP 301 Przeniesiono na stałe jest używany do trwałego przekierowania, co oznacza, że ​​bieżące łącza lub rekordy korzystające z adresu URL, dla którego otrzymano tę odpowiedź, powinny zostać zaktualizowane. Nowy adres URL należy podać w polu Lokalizacja dołączonym do odpowiedzi. Przekierowanie 301 jest uważane za najlepszą praktykę w przypadku uaktualniania użytkowników z HTTP do HTTPS.

RFC 2616 stwierdza, że:

  • Jeśli klient ma możliwości edycji linków, powinien zaktualizować wszystkie odwołania do adresu URL żądania.
  • Odpowiedź można zapisać w pamięci podręcznej, chyba że wskazano inaczej.
  • O ile metoda żądania nie była HEAD, jednostka powinna zawierać małą notatkę hipertekstową z hiperłączem do nowych adresów URL.
  • Jeśli kod stanu 301 zostanie odebrany w odpowiedzi na żądanie innego typu niż GET lub HEAD, klient musi zapytać użytkownika przed przekierowaniem.

Przykład

Żądanie klienta:

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

Odpowiedź serwera:

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

Oto przykład wykorzystania pliku .htaccess do przekierowania niezabezpieczonego adresu URL na bezpieczny adres bez początkowego „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]

Oto przykład użycia Perl CGI.pm :

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

Oto przykład użycia przekierowania PHP :

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

Równie proste dla konfiguracji nginx :

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

Oto jeden ze sposobów przekierowania za pomocą Express.js :

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

Wyszukiwarki

Zarówno Bing, jak i Google zalecają użycie przekierowania 301 do zmiany adresu URL strony wyświetlanego w wynikach wyszukiwania, pod warunkiem, że ten adres URL ulegnie trwałej zmianie i nie będzie zmieniany w najbliższym czasie.

Zobacz też

Bibliografia

Bibliografia

301 HTTPS