301 Moved Permanently

Приветствуем Вас, уважаемые посетители. В этой статье обсуждается тема 301 Moved Permanently. Если у Вас назрели вопросы, задавайте их, спрашивайте, постараемся помочь. Надеемся, что мы сможем решить Ваш вопрос

Код перенаправления «301 Moved Permanently» протокола передачи гипертекста (HTTP) показывает, что запрошенный ресурс был окончательно перемещен в URL, указанный в заголовке Location. Браузер в случае такого ответа перенаправляется на эту страницу, а поисковые системы обновляют свои ссылки на ресурс (говоря языком SEO, вес страницы переносится на новый URL-адрес).

Даже если спецификация требует, чтобы при выполнении перенаправления, метод и тело запроса не изменялись, не все пользовательские приложения обращают на это внимание, и вы все еще можете столкнуться с программами имеющими этот баг. Именно поэтому код 301 рекомендуется только в качестве ответа на GET или HEAD запрос, а для POST рекомендуется код 308 Permanent Redirect, так как он явно запрещает изменение метода запроса.

\u041F\u0440\u0438\u043C\u0435\u0440

\\n\\n

\u0417\u0430\u043F\u0440\u043E\u0441 \u043A\u043B\u0438\u0435\u043D\u0442\u0430

\\n\\nGET /index.php HTTP/1.1\\nHost: www.example.org\\n\\n

\u041E\u0442\u0432\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430

\\n\\nHTTP/1.1 301 Moved Permanently\\nLocation: http://www.example.org/index.asp\\n\\n

\u041F\u0440\u0438\u043C\u0435\u0440

\\n\\n

\u0417\u0430\u043F\u0440\u043E\u0441 \u043A\u043B\u0438\u0435\u043D\u0442\u0430

\\n\\nGET /index.php HTTP/1.1\\nHost: www.example.org\\n\\n

\u041E\u0442\u0432\u0435\u0442 \u0441\u0435\u0440\u0432\u0435\u0440\u0430

\\n\\nHTTP/1.1 301 Moved Permanently\\nLocation: http://www.example.org/index.asp\\n\\n

\u0425\u0430\u0440\u0430\u043A\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043A\u0438

\\n\\n\\n\\n

Изучите лучшие материалы по Веб-разработке

Получайте самые последние важные новости от MDN прямо в ваш почтовый ящик.

В настоящий момент рассылка доступна только на английском языке.

Bibliography[edit]

301 HTTPS

Example[edit]

Client request:

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

Server response:

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

Here is an example using a .htaccess file to redirect a non-secure URL to a secure address without the leading «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]

Here is an example using Perl CGI.pm:

1print redirect(«https://example.com/newpage.html»);

Here is an example using a PHP redirect:

1<?php
2header(«Location: https://example.com/newpage.html», true, 301);
3exit;

Equivalently simple for an nginx configuration:

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

Here is one way to redirect using Express.js:

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

Search engines[edit]

Both Bing and Google recommend using a 301 redirect to change the URL of a page as it is shown in search engine results, providing that URL will permanently change and is not due to be changed again any time soon.[2][3]

References[edit]

Navigation menu

301 редирект и файл htaccess — как правильно настроить?

Как я вам уже говорил выше — 301 редирект это переадресация посетителя и поискового робота на сайт или отдельно взятую страницу сайта на URL адрес отличный от первоначально запрошенного в браузере.

Для чего это нужно мы с вами также уже разобрали. Но как же это сделать правильно на нашем сайте используя файл htaccess? Сейчас я вам все подробно объясню и приведу примеры внесения изменений в файл htaccess для вашего сайта!

  • Перенаправление домена с www на без-www

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

или вот более понятный синтаксис:

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

  •  301 редирект запросов без-www на домен с www префиксом

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

Альтернативный вариант:

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

  •  301 редирект старого домена на новый в фале htaccess

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

  •  Если вам нужно, чтобы вместо rewrite.htm загружался файл rewrite.html, добавьте в файл htaccess вот это:

RewriteEngine on
RewriteBase /
RewriteRule ^rewrite\.htm$ rewrite.html [R=permanent]

  •  Чтобы заменить все .htm файлы на .html внесите в файл htaccess:

RewriteEngine on
RewriteBase /
RewriteRule ^(.*)\.htm$ $1.html [R=permanent]

  •  Варианты, когда не нужно использовать 301 редирект на вашем сайте:
  • Если реализация 301 редиректа невозможна или она займет неоправданно много времени.
  • Если контент вашего сайта дублируется на двух или нескольких страницах, но эти страницы должны быть доступны в поиске пользователю ввиду некоторых отличий (на пример, выбор какого-то товара).
  • Если одна страница имеет несколько URL адресов (сортировка каталога товаров по различным категориям или критериям).
  • Для кросс-доменов. Это, когда контент сайта на двух URL адресах дублируется, но он должен быть доступен на каждом из двух или нескольких доменах.

Этот материал посвящен выходу 301-ой статьи на моем блоге!

Может вам интересно узнать, что такое ошибка 503 и как ее устранить?

На этом пока все. Всем удачи и благополучия!

Компания «РЕТРОТОК» продает выключатели и розетки под старину

Этот сайт использует cookie для хранения данных. Продолжая использовать сайт, Вы даете свое согласие на работу с этими файлами.

Редирект 301 и для чего он нужен?

Есть несколько причин у вебмастера, чтобы использовать редирект 301. Вот они:

  • Причина первая: Склейка домена с www и без www. При этом все seo показатели сайта и его ссылочный вес будут совмещены и не будут отличаться друг от друга.
  • Причина вторая: Если вдруг пришлось сменить домен для сайта. Тогда применяется редирект 301 и он как раз перенаправляет посетителя сайта и поисковые роботы на рабочий домен сайта. Это также позволит вам сохранить все seo показатели вашего переехавшего сайта, как тИЦ, PR, так и своих посетителей.
  • Причина третья: Использование редиректа 301 при переносе отдельной страницы сайта на другой ресурс. Бывают и такие случаи, когда это нужно сделать.
  • Причина четвертая: Например у Вас есть сайт, где высокий тИЦ и PR и много посетителей. И еще есть другой сайт, который нужно немного пропиарить и прибавить к нему посещения. Тогда Вы просто на просто перенаправляете при помощи того же редирект 301, с одной страницы высоко посещаемого сайта на страницу более низко посещаемого сайта и тем самым выигрываете, добавив ему веса ссылочной массы и соответственно посещений.

Вот основные причины для использования редирект 301 или ошибка 301 Moved Permanently.

Теперь давайте узнаем, как правильно использовать редирект 301 на своем сайте и как настроить его через файл htaccess …

Ошибка 301 или редирект 301 что это?

Как Вы уже наверное догадались по переводу слов «moved permanently» — это дословно, что сайт или отдельная его страница «переехал навсегда» по адресу на который Вас перекинул ваш браузер. Тут надеюсь все понятно и ясно без лишних пояснений!

Но возникает вопрос. Для чего это сделано вебмастером этого сайта? Почему он поставил редирект 301 и у нас с вами выскакивает иногда 301 ошибка? А все просто! Ошибка 301 появляется, когда сервер перебрасывает нас с уже не работающего сайта на страницу сделанную специально для перенаправления пользователя на рабочий сайт, но просто с некоторой задержкой или вообще на этой странице нужно самостоятельно перейти по ссылке. Вот это в двух словах об ошибке 301.

Теперь самый важный момент, зачем же все таки нужен редирект 301 на сайте …

Примеры[править | править код]

Запрос клиента:

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 ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ https://%1/$1 [R=301,L]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

Перенаправление с нежелательных сайтов в .htaccess

RewriteEngine on
RewriteCond %{HTTP_REFERER} ^http://(site.ru%7Csite2.ru%7Csite3.ru) [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;
}

Перенаправление с нескольких несуществующих веб-страниц или путей на главную.

location ~* (wp-*|admin*|plugins|install*|components|cli|logs|cache|modules|tmp) {
return 301 $scheme://example.com;
}

Перенаправление с нежелательных сайтов. Помещается внутри server {}.

if ($http_referer ~* (site1.ru|site2.com|site3*) ) {
return 301 http://example.com/;
}

Перенаправление с www.

server {
server_name www.example.com;
return 301 http://example.com$request_uri;
}

Перенаправление со старого домена на новый.

server {
server_name www.example.com example.com;
return 301 $scheme://example.com$request_uri;
}

Поисковые системы[править | править код]

Google рекомендует использовать код состояния 301 для изменения URL страницы так, как она показана в результатах поиска[2].

Яндекс также рекомендует использовать код состояния 301 при перенаправлении страниц[3].

С точки зрения SEO, именно код состояния 301 сообщает поисковым роботам, что нужно объединить два разных адреса в один, где основным будет тот, на который и происходит перенаправление.

Поисковые системы также рекомендуют настраивать данное перенаправление с дополнительных зеркал на основное, например, когда сайт одновременно доступен по адресам с www и без www или использует защищённый протокол (https), но также доступен по http.

Понравилась статья? Поделиться с друзьями: