HTTP 301

HTTP
Методи
Список заголовків
  • Куки
  • ETag
  • Location[en]
  • HTTP referer[en]
  • DNT[en]
  • X-Forwarded-For
Коди стану
  • 301 Moved Permanently
  • 302 Found
  • 303 See Other[en]
  • 403 Forbidden
  • 404 Not Found
  • 451 Unavailable For Legal Reasons
  • п
  • о
  • р

Код стану 301 протоколу HTTP (HTTP 301) — в протоколі HTTP, код стану, що отримується у відповідь від сервера в ситуації, коли запитаний ресурс був на постійній основі переміщено в нове місце розташування (англ. Moved Permanently), і який вказує на те, що поточні посилання, які використовують даний URL, повинні бути оновлені. Адреса нового місця розташування ресурсу вказується в полі Location одержуваного у відповідь заголовка пакета протоколу HTTP. В RFC 2616 зазначено, що:

  • якщо в клієнта є можливість редагування посилання, то йому слід оновити всі посилання на запитуваний URL;
  • запит кешується;[1]
  • у разі, якщо метод запиту був не HEAD, то вміст має містити невелику гіпертекстову примітку з гіперпосиланням на новий URL;
  • якщо код стану 301 був отриманий у відповідь на запит будь-якого іншого типу, крім GET або HEAD, то клієнт повинен запитати користувача про перенаправлення.

Приклади

Запит клієнта:

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

Відповідь сервера:

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

Приклади перенаправлення для вебсервера Apache: Використання файлу .htaccess для перенаправлення на ресурс, що працює на протоколі шифрування SSL:

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]

Перенаправлення з небажаних сайтів в .htaccess

RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://(site.ua%7Csite2.ua%7Csite3.ua)[NC]
RewriteRule \.(rar|zip)$ http://example.com/ [R,L]

Приклад використання перенаправлення в PHP:

<?php
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: http://example.com/newpage.html");
    exit();
?>

Приклади перенаправлення для вебсервера nginx: Перенаправлення з вебсторінки.

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

Пошукові системи

Google рекомендує використовувати код стану 301 для зміни URL сторінки так, як вона показана в результатах пошуку.[2] Яндекс також рекомендує використовувати код стану 301 перенаправлення сторінок.[3]

З точки зору SEO, саме 301 редірект повідомляє пошуковим роботам, що потрібно об'єднати дві різні адреси в одну, де основною буде та, на яку й здійснюється перенаправлення.

Пошукові системи також рекомендують налаштовувати даний редірект з додаткових дзеркал на основне, наприклад, коли сайт одночасно доступний за адресами з www і без www або використовує захищений протокол (https), але при цьому також доступний з http.

Див. також

Примітки

  1. How long do browsers cache HTTP 301s?. stackoverflow.com. Архів оригіналу за 27 січня 2016. Процитовано 26 листопада 2015.
  2. Change page URLs with 301 redirects - Search Console Help. support.google.com. Архів оригіналу за 24 липня 2017. Процитовано 26 листопада 2015.
  3. Обработка редиректов (перенаправлений) — Вебмастер — Яндекс.Помощь. yandex.ru. Архів оригіналу за 7 квітня 2017. Процитовано 26 листопада 2015.

Посилання

  • RFC 2616[1] [Архівовано 7 березня 2011 у Wayback Machine.]
  • Що таке редірект і як його прописати. [Архівовано 21 листопада 2021 у Wayback Machine.]
  • п
  • о
  • р
Глобально
Локально
Види сайтів
і серівісів
Створення
та обслуговування
Типи макетів,
сторінок, сайтів

Статичний Динамічний Фіксований • Гумовий • Динамічно-еластичний • Адаптивний

Технічне

Вебсервер (порівняння) • Браузер (порівняння) • DNS CMF CMS HTTP (відповіді заголовки) • SPDY QUIC CGI HTML XHTML CSS PHP JavaScript DHTML Cookie DOM XML AJAX JSON Flash RSS Atom Мікроформат favicon.ico • robots.txt Sitemaps Мапа сайту .htaccess

Маркетинг
Соціум і культура