19 полезных возможностей файла .htaccess

Содержание:

Alternative way of specifying redirections

HTTP redirects aren’t the only way to define redirections. There are two others:

  1. HTML redirections with the element
  2. JavaScript redirections via the DOM

HTML redirections

HTTP redirects are the best way to create redirections, but sometimes you don’t have control over the server. In that case, try a element with its attribute set to in the of the page. When displaying the page, the browser will go to the indicated URL.

<head> 
  <meta http-equiv="Refresh" content="0; URL=https://example.com/">
</head>

The attribute should start with a number indicating how many seconds the browser should wait before redirecting to the given URL. Always set it to for accessibility compliance.

Obviously, this method only works with HTML, and cannot be used for images or other types of content.

JavaScript redirections

Redirections in JavaScript are performed by setting a URL string to the property, loading the new page:

window.location = "https://example.com/";

Like HTML redirections, this can’t work on all resources, and obviously, this will only work on clients that execute JavaScript. On the other hand, there are more possibilities: for example, you can trigger the redirect only if some conditions are met.

Order of precedence

With three ways to trigger redirections, several ways can be used at the same time. But which is applied first?

  1. HTTP redirects always execute first — they exist when there is not even a transmitted page.
  2. HTML redirects () execute if there weren’t any HTTP redirects.
  3. JavaScript redirects execute last, and only if JavaScript is enabled.

When possible, use HTTP redirects and don’t add element redirects. If someone changes the HTTP redirects but forgets to change the HTML redirects, the redirects will no longer be identical, which could cause an infinite loop or other nightmares.

Usage

Simply add the links you want to redirect as objects to the module option array:

redirect: 
  { from: '^/myoldurl', to: '/mynewurl' }

You can set up a custom status code as well. By default, it’s 302!

redirect: 
  { from: '^/myoldurl', to: '/mynewurl', statusCode: 301 }

As you may have already noticed, we are leveraging the benefits of
Regular Expressions. Hence, you can fully customize your redirects.

redirect: 
  { from: '^/myoldurl/(.*)$', to: '/comeallhere' }, // Many urls to one
  { from: '^/anotherold/(.*)$', to: '/new/$1' } // One to one mapping

Furthermore you can use a function to create your url as well
The rule and the of the middleware will be provided as arguments.
The function can also be async!

redirect: 
  {
    from: '^/someUrlHere/(.*)$',
    to: (from, req) => {
      const param = req.url.match(/functionAsync\/(.*)$/)1
      return `/posts/${param}`
    }
  }

And if you really need more power… okay! You can also use a factory function
to generate your redirects:

redirect: async () => {
  const someThings = await axios.get("/myApi") // It'll wait!
  return someThings.map(coolTransformFunction)
}

Now, if you want to customize your redirects, how your decode is done
or when there is some error in the decode, you can also:

redirect: {
  rules: 
    { from: '^/myoldurl', to: '/mynewurl' }
  ,
  onDecode: (req, res, next) => decodeURI(req.url),
  onDecodeError: (error, req, res, next) => next(error)
}

ATTENTION: The factory function must return an array with redirect
objects (as seen above).

Что такое редирект

Прежде всего необходимо разобраться с вопросом «Что такое редирект сайта?». В дословном переводе с английского это слово означает перенаправление. Например, если на одной из городских улиц по какой-то причине случился затор, регулировщик может перенаправить городской трафик на другую. Редирект работает похожим образом.

Редиректом в терминах IT называют автоматическую переадресацию пользователя с одного адреса страницы на другой. В большинстве случаев процесс перенаправления абсолютно незаметен для посетителя сайта.

Наши продукты помогают вашему бизнесу оптимизировать расходы на маркетинг Узнать подробнее

Примеры использования 301 редиректа

Редирект с index.php на главную

Чтобы настроить его вам нужно прописать в вашем файле следующий код, который будет перенаправлять посетителей с адреса site.ru/index.php на site.ru:

RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.php\ HTTP
RewriteRule ^index\.php$ http://site.ru/ 

Если вам так же нужно сделать переадресацию с index.html, то просто в коде выше замените .php на .html

Склеиваем алиасы сайта

Если у вас несколько доменов и вы хотите все их перенаправлять на основной сайт, то используем:

RewriteCond %{HTTP_HOST} ^vash-sait.com$ 
RewriteCond %{HTTP_HOST} ^www.vash-sait.com$ 
RewriteCond %{REQUEST_URI} !^/robots.*
RewriteRule ^(.*)$ http://vash-sait.ru/$1 

Обратите внимание на первые 2 строки, там указано зеркало в зоне .com, если у вас иная или несколько зон, то добавляем правила

Редирект с www на без www

Этот способ я уже описывал ранее, но повторюсь. Для того, чтобы склеить зеркала и выбрать основным домен без www прописываем:

RewriteCond %{HTTP_HOST} ^www.site\.ru$ 
RewriteRule ^(.*)$ http://site.ru/$1 

Редирект с домена без www на домен с www

Это действие противоположное предыдущему, только основное зеркало здесь www.site.ru:

RewriteCond %{HTTP_HOST} ^site\.ru$ 
RewriteRule ^(.*)$ http://www.site.ru/$1 

301 редирект страниц со слэшем и без

Это еще один вид дублей, тут мы склеим страницы site.ru/category/ и site.ru/category, как видите, в конце второго урла не стоит слэша:

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} ^(.+)/$
RewriteRule ^(.+)/$ /$1 

Если вам нужно наоборот оставить слэш в конце урла, то вам нужен данный вариант:

RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_URI} !(.*)/$
RewriteRule ^(.*)$ $1/ 

Если у вас по какой-то причине появились урлы типа site.ru/category//article.html, то юзаем код:

RewriteCond %{REQUEST_URI} ^(.*)//(.*)$
RewriteRule . %1/%2 

где, «//» можно заменить на «—» или любые сдвоенные символы в урле.

Массовая замена категории

Бывает, что вы переименовали категорию, а за ней закреплены тысячи урлов. Чтобы не состарится во время написания тысяч одинаковых перенаправлений юзаем:

RewriteRule ^(.*)/old-category/(.*)$ $1/new-category/$2 

Если у вас категория идет сразу после домена (типа site.ru/category/), то используем другой вариант:

RewriteRule old-category /(.*) / old-category /$1 

Редирект на новую страницу

Самый простой редирект со страницы на страницу, для это просто пропишите так:

Redirect 301 /old-post.html http://new-site.ru/new-post.html

Где old-post.html — это ваша старая страница, а new-site.ru/new-post.html — это новая страница и она может быть на любом домене (включая ваш текущий домен).

Редирект для url с параметрами

Страницы с параметрами редиректятся сложнее, возьмем пример http://site.ru/page.php?sort=articles. Параметр здесь «sort=articles». Код будет следующим:

RewriteCond %{QUERY_STRING} sort=articles
RewriteRule .* http://site.ru/page.php? 

Работаем с расширениями

Убираем .html из url (для удаления .php не забудьте заменить $1.html на $1.php):

RewriteRule ^((+/)*+)$ /$1.html 

Меняем .php на .html в урлах и наоборот (не забываем поменять местами в коде):

RedirectMatch 301 (.*)\.php$ http://www.site.com$1.html

Способ 3. Простейший javascript-редирект.

Разница этого редиректа в том — что сначала в браузер загружается страничка HTML — потом после её загрузки происходит редирект. Может ощущаться некоторая задержка с появлением «белого экрана» в момент редиректа — в этом небольшой минус перед header-редиректом. Не сработает на компьютерах/браузерах, где отключен javascript. Соответственно REFERER виден именно тот, где был код редиректа (т.е. сама страничка с кодом будет как источник перехода).

Оформляется так (в секции <body> или <head>):

<script >
document.location = ‘//leonov-do.ru/’;
</script>

Если на страничке установлен код Яндекс.Метрики — он скорее всего не успеет сработать и засчитать посетителя, т.к. подобный редирект срабатывает быстрее метрики.

Как переехать на новый домен? Оптимальная стратегия 301 редиректа

Оптимальной стратегией переезда на новый домен, учитывая пожелания 2-ух основных поисковых систем рунета Яндекс и Google, это:

  • постраничный 301 редирект со старого сайта на новый.
  • при этом для файла robots.txt редирект не делаем, а прописываем в нем директиву Host на новый домен.

Тогда код для настройки редиректа на старом сайте может иметь следующий вид:

а файл robots.txt для старого сайта:

Генерация 301 редиректов

Если вы не очень технически подкованы, то можно воспользоваться сервисами генерации базовых редиректов:

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

Как проверить 301 редирект

После каждого изменение логики работы 301 редиректа необходимо проверять работоспособность сайта:

Также для более тщательной проверки отработки редиректов можно использовать следующие сервисы:

 — максимально подробная информация по ответам сервера.

.

Как и когда лучше использовать 301 редирект vs Canonical

301 — Эй, Поисковики: моя страница уже не здесь, и она навсегда переехала на новую страницу. Пожалуйста, удалите старую страницу из индекса и передайте её вес на новую страницу.

Canonical — Эй, Поисковики (так для большинства поисковых систем): у меня есть несколько версий этой страницы (или содержания), пожалуйста, индексируйте только ту версию страницы, на которую стоит canonical. Я буду держать другие страницы доступными для людей, чтобы они могли их видеть, но, Поисковик, не включай их в свой индекс и пожалуйста, передай вес на мою предпочтительную страницу.

Зачем нужен редирект

На сайтах он решает несколько задач. Чаще всего он перенаправляет посетителя со страниц с неактуальным адресом или информацией, однако этим его функционал не ограничивается.

Редирект для целей SEO

В поисковой оптимизации сайтов используется для:

  • склейки адресов страниц, например, без префикса https и с ним;
  • переездов сайтов на другой домен, если не хочется потерять позиции сайта в поисковых системах и постоянных посетителей;
  • обработки повторяющихся страниц;
  • сохранение результатов продвижения при смене CMS сайта, так как в этом случае настройки ссылок будут различаться;
  • необходимость удалить или скрыть определенные разделы сайта, перенаправив пользователя на другие или главную страницу.

Как сделать редирект

Ниже разберём несколько ситуаций, в которых владельцы сайтов чаще всего используют опцию редиректа.

C http на https

Из-за повсеместного переезда на https необходимость в этом редиректе возникает у многих. Для настройки через файл htaccess или PHP нужно использовать следующий код:

RewriteEngine On

RewriteCond %{HTTPS} off

RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI)

C или на www

Этот редирект также очень важен для SEO, ведь с точки зрения поисковых систем страницы с префиксом www и без него являются разными и, соответственно, дублями.

Для выполнения настройки рекомендуется использовать специальные программы для генерации кодов редиректа, коих в Интернете существует множество, и сделать её через файл htacess.

Настройка перенаправления с одной страницы

Для выполнения этой операции действия нужно осуществлять по похожей схеме. Сначала сгенерировать код, после чего добавить его в файл htaccess или index.php. Если сайт работает на WordPress, можно воспользоваться плагинами, например, Simple 301 Redirects или Redirect.

Настройка редиректа при смене домена

В этом случае схема будет похожей, только в программах для генерации кода нужно получить постраничный редирект. Для этого потребуется ввести URL старого и нового сайта, а затем отметь нужные поля. Далее код также нужно добавить в файлhtacess или PHP.

Редирект папки

Можно задать и редирект для всей папки, то есть каталога. Это нужно, например, при создании подразделов, в том случае, если они отображаются в адресе страницы. Например, в раздел томаты на огородном сайте, имеющий ссылку примерного вида gardensampleblog.ru/tomaty/zheltye добавляется новый раздел «Томаты Черри», а ссылка получает следующий вид https://gardensampleblog.ru/cherry/zheltye.

Стандартный код для файла htacess в этом случае будет выглядеть следующим образом:

RedirectMatch 301 ^/tomaty/(.*)$ /cherry/$1

Случаи использования

Есть много случаев для использования перенаправлений, но поскольку они влияют на производительность, то должны использоваться как можно реже.

Связывание доменов

В идеале, есть только одно место, и следовательно один URL адрес, для одного ресурса. Но, есть несколько причин, чтобы иметь альтернативные имена для ресурса (несколько доменов, как с, так и без префикса www или более короткие и лёгкие для запоминания адреса, …). В этих случаях, использовать перенаправление к одному истинному URL адресу, более подходящий вариант, чем дублировать ресурс.

Связывание доменов может быть необходимым по нескольким причинам:

  • Расширение вашего сайта. Распространенный случай, когда ваш сайт находится под доменом  , а доступ к страницам должен быть возможным также из  . В этом случае создаются перенаправления для  страниц из  к страницам . Вы также можете предоставлять обычно используемые имена синонимов или частые опечатки ваших доменных имен.
  • Переезд на другой домен. К примеру, ваша компания была переименована и вы хотите чтобы люди которые обычно использовали старый сайт компании находили вас под новым именем.
  • Принужденный HTTPS. Запросы к HTTP версии вашего сайта буду перенаправлены к HTTPS версии.

Сохранения ссылок рабочими

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

Не смотря на то, что данный метод работает также для внутренних ссылок, вы должны избегать внутренних перенаправлений. Перенаправления имеют большое влияние на производительность, и если вы имеете возможность избежать их, корректируя внутренние ссылки, тогда делайте так.

Временные ответы для небезопасных запросов

Небезопасные запросы изменяют состояние сервера и пользователь не должен не нарочно запросить их.  Обычно, вы не хотите чтобы ваши пользователи повторно отправляли , или  запросы. Если вы только обслуживаете запросы, простое нажатие кнопки перезагрузки повторно отправит запрос. 

В этом случае, сервер вернет ответ (Смотреть другие), который будет содержать правильную информацию, но если кнопка перезагрузки будет нажата, эта страница просто отобразится повторно без ответа на небезопасный запрос.

Разновидности редиректа

Непосредственно в программировании и оптимизации ресурсов чаще всего используются только три ключевых разновидности редиректа. Есть смысл поговорить о них более подробно.

301

Представляет собой постоянный редирект. Этот тип используется чаще всех остальных. Его основным предназначением является перенос адреса сайта на другой, постоянный. В итоге проведения этой процедуры предыдущий адрес пропадает из поисковой выдачи, а поисковые системы начинают индексировать новый. Вместе с этим получается сохранить показатели посещаемости предыдущего сайта.

В некоторых случаях ресурс может выдать браузеру ошибку 404. В данном случае можно говорить о том, что редирект не оптимизирован.

Рекомендую обращать внимание на этот вид редиректа только в тех случаях, когда вы полностью уверены в том, что имеющийся адрес вам больше никогда не пригодится

302

Представляет собой временный редирект. То есть, перенаправление с одного ресурса на другой будет происходить только в течение определённого срока времени. Пользователь попадёт на другую страницу, которая не будет индексироваться. Настройки в таком случае останутся на изначальной странице и никуда не перенесутся. Этот метод используется в случаях, когда требуется оставить прошлый адрес или ссылки, размещённые на нём. Отдельно можно упомянуть его полезность для онлайн-магазинов: когда один товар заканчивается, а вы хотите не потерять позицию соответствующего ему раздела, можно настроить редирект на аналогичные продукты.

Когда вам необходимо перевести сайт на другое доменное имя или масштабно обновить его, применять данный вид редиректа не рекомендуется. Это чревато тем, что поисковик будет отображать сразу два варианта страниц, из-за чего возникнет полное повторение. Также следует не забывать о том, что если Google посчитает, что редирект был использован неправильно, все показатели СЕО будут перенесены на новый адрес, когда как старый полностью исчезнет из выдачи.

307

Он также подразумевает временную смену адреса, однако в отличие от 302 изначальная версия ресурса сохранит свои позиции. Поисковики, в свою очередь, воспринимают его практически так же, как и 302.

Помимо вышеперечисленных существует ещё несколько разновидностей редиректа. О каждой из них можно рассказать вкратце:

  1. 300. Подразумевает наличие нескольких адресов, на которые может быть перенаправлен пользователь исходя из того, как настроен его браузер.
  2. 303. В данном случае нужный документ был найден, однако для его отображения на сайте нужно будет применить GET.
  3. 304. В случае с ним появится информация о том, что сайт никак не был изменён после визита, а браузер загрузит страницу, сохранённую в кэше.
  4. 305. Редирект выполняется на прокси-сервере, после чего выполняется перенаправление по вопросу, заданному в поисковике.

На этом тему редиректа можно закончить. Если вы хотите получать информацию о выходе новых материалов, вы можете подписаться на рассылку

Благодарю вас за внимание, всего хорошего!

Principle

In HTTP, redirection is triggered by a server sending a special redirect response to a request. Redirect responses have status codes that start with , and a header holding the URL to redirect to.

When browsers receive a redirect, they immediately load the new URL provided in the header. Besides the small performance hit of an additional round-trip, users rarely notice the redirection.

There are several types of redirects, sorted into three categories:

Permanent redirections

These redirections are meant to last forever. They imply that the original URL should no longer be used, and replaced with the new one.Search engine robots, RSS readers, and other crawlers will update the original URL for the resource.

Code Text Method handling Typical use case
methods unchanged.
Others may or may not be changed to .
Reorganization of a Web site.
Method and body not changed. Reorganization of a Web site, with non-GET links/operations.

The specification did not intend to allow method changes, but there are existing user agents that do change their method. was created to remove the ambiguity of the behavior when using non- methods.

Temporary redirections

Sometimes the requested resource can’t be accessed from its canonical location, but it can be accessed from another place. In this case, a temporary redirect can be used.

Search engine robots and other crawlers don’t memorize the new, temporary URL. Temporary redirections are also used when creating, updating, or deleting resources, to show temporary progress pages.

Code Text Method handling Typical use case
methods unchanged.
Others may or may not be changed to .
The Web page is temporarily unavailable for unforeseen reasons.
methods unchanged.
Others changed to (body lost).
Used to redirect after a or a , so that refreshing the result page doesn’t re-trigger the operation.
Method and body not changed The Web page is temporarily unavailable for unforeseen reasons. Better than when non- operations are available on the site.

The specification did not intend to allow method changes, but there are existing user agents that do change their method. was created to remove the ambiguity of the behavior when using non- methods.

Special redirections

(Not Modified) redirects a page to the locally cached copy (that was stale), and (Multiple Choice) is a manual redirection: the body, presented by the browser as a Web page, lists the possible redirections and the user clicks on one to select it.

Code Text Typical use case
Not many: the choices are listed in an HTML page in the body. Machine-readable choices are encouraged to be sent as headers with .
Sent for revalidated conditional requests. Indicates that the cached response is still fresh and can be used.

Переменные mod_rewrite

В условиях (RewriteCond) и в правилах (RewriteRule) можно использовать переменные сервера.

1. HTTP headers (RqH — Request Header):

  • HTTP_USER_AGENT — содержит полную строку заголовка «User-Agent:»;
  • HTTP_REFERER — адрес с которого пришел пользователь;
  • HTTP_COOKIE — доступ к списку COOKIE браузера;
  • HTTP_FORWARDED — содержит IP-адрес прокси-сервера или сервера балансировки нагрузки;
  • HTTP_HOST — адрес хоста/сервера, который запросил пользователь, например, example.com;
  • HTTP_PROXY_CONNECTION — содержит лексему соединения (connection-token) «close» или «Keep-Alive», предназначен для согласования постоянных соединений между клиентом и сервером (аналог заголовка Connection);
  • HTTP_ACCEPT — заголовок согласования содержимого, которое поддерживает браузер/клиент пользователя, например «» («тип/подтип», через запятую, где тип – это тип содержимого, а подтип – это уточнение типа.). Если заголовок Accept содержит «» (*/*), то это означает, что клиент готов принять содержимое любого типа.

2. connection & request (соединение & запрос):

  • REMOTE_ADDR — IP-адрес клиента;
  • REMOTE_HOST — ДНС-имя IP-адреса клиента;
  • REMOTE_PORT — номер текущего порта клиента;
  • REMOTE_USER — содержит имя авторизированного (средствами сервера) пользователя;
  • REMOTE_IDENT — переменная будет установлена только если подключен модуль mod_ident и IdentityCheck установлено в «on», предназначена для работы с Ident протоколом https://ru.wikipedia.org/wiki/Ident;
  • REQUEST_METHOD — метод, которым был сделан запрос, GET|GET|HEAD и т.д.;
  • SCRIPT_FILENAME — полный путь к запрошенному файлу, например /var/www/public_html/script_name.php;
  • PATH_INFO — Содержит предоставленный пользователем путь, который содержится после имени скрипта, но до строки запроса (?). Например, если скрипт был запрошен по URL http://www.example.com/php/path_info.php/some/stuff?foo=bar, то переменная $_SERVER будет содержать /some/stuff.
  • QUERY_STRING — строка GET запроса, если запрошен адрес http://example.com/index.php?var=1&var=2, то QUERY_STRING будет содержать var=1&var=2;AUTH_TYPE — тип аутентификации, если выполнена HTTP-аутентификация, может быть Basic или Digest.

3. server internals (внутренние сервера):

  • DOCUMENT_ROOT — полный путь к домашнему каталогу пользователя, например /var/www/public_html/
  • SERVER_ADMIN — данные администратора сервера/виртуального_хоста, обычно адрес электронной почты;
  • SERVER_NAME — имя сервера, обычно из директивы ServerName;
  • SERVER_ADDR — IP-адрес сервера;
  • SERVER_PORT — порт сервера;
  • SERVER_PROTOCOL — версия используемого протокола, например HTTP/1.0 или HTTP/1.1;
  • SERVER_SOFTWARE — название/версия сервера.

4. date and time (системные, дата и время):

  • TIME_YEAR — год, 2014
  • TIME_MON — месяц, 05
  • TIME_DAY — день, 07
  • TIME_HOUR — час, 04 (24)
  • TIME_MIN — минуты, 38
  • TIME_SEC — секунды, 55
  • TIME_WDAY — день недели, 3 (среда)
  • TIME — в формате год-мес-день-час-мин-сек, например 20140514234534

5. specials (специальные):

  • API_VERSION — в формате «20051115:33»
  • THE_REQUEST — подробности GET/POST запроса, например «GET /index.html HTTP/1.1»
  • REQUEST_URI — относительный УРЛ запроса «/index.html»
  • REQUEST_FILENAME — полный локальный путь к файлу или скрипту в файловой системе, соответствующего запроса
  • IS_SUBREQ — если выполняется подзапрос, то переменная содержит true, в противном случае false
  • HTTPS — on/off, если используется/неиспользуется HTTPS

6. переменные результата выполнения:

  • $1 — $1, $2 и т.д. образуются при совпадении (шаблона1.*) (шаблона2.*) из RewriteRule
  • %1 — %1, %2 и т.д. образуются при совпадении (шаблона1.*) (шаблона2.*) из RewriteCond

Дополнительные ссылки по HTTP заголовкам и переменным сервера:

Принцип работы

В HTTP, перенаправление вызывается при отправке сервером специального ответа на запрос: redirects. HTTP перенаправление, это ответы с кодом статуса. Когда браузер получает ответ перенаправления, он использует новый предоставленный URL-адрес и немедленно загружает его: в большинстве случаев переадресация невидима для пользователя, за исключением небольшого влияния производительность.

Есть несколько типов перенаправлений и делятся на три категории: постоянные, временные и специальные перенаправления.

Постоянные перенаправления

Эти перенаправления призваны длиться вечно. Они подразумевают, что оригинальный URL-адрес больше не должен использоваться, а вместо него должен быть использован новый. Поисковые роботы запускают обновление связанного URL-адреса для ресурса в своих индексах.

Код Текст Обработка метода Случаи использования
методы неизменны.
Другие методы могут быть превращены в .
Реорганизация веб-сайта.
Метод и тело запроса  неизменны. Реорганизация веб-сайта, с не-GET ссылками/операциями.

Спецификация не была намерена разрешать изменение метода, но на практике, клиентские приложения делают это. Код  был создан чтобы избавиться от неоднозначности в поведении, при использовании не- методов.

Временные перенаправления

Иногда, доступ к запрашиваемому ресурсу не может быть предоставлен из определенного места, но может быть предоставлен из другого. В этом случае, могут быть использованы временные перенаправления. Поисковые роботы не запоминают новую, временную ссылку. Временные перенаправления также используются, когда создаются, обновляются, или удаляются ресурсы, которые представляют временные страницы.

Код Текст Обработка метода Случаи использования
методы неизменны.
Другие методы могут  быть превращены в .
Веб-страница недоступна по непредвиденым причинам. В этом случае поисковые роботы не будут обновлять свои ссылки.
методы неизменны.
Другие превращены в  (тело запроса теряется).
Используется для перенаправления после или для предотвращения обновления страницы, что может спровоцировать повторный вызов операции.
Метод и тело запроса  неизменны. Веб-страница недоступна по непредвиденным причинам. В этом случае поисковые роботы не будут обновлять свои ссылки. Лучше чем код  когда не-GET ссылки/операции доступны на сайте.

Спецификация не была намерена разрешать изменение метода, но на практике, клиентские приложения делают это. Код  был создан чтобы избавиться от неоднозначности в поведении, при использовании не- методов.

Специальные перенаправления

В добавок к обычным перенаправлениям, есть 2 специальные.  Перенаправление с кодом (Not Modified) перенаправляет страницу к локальной закешированной копии (которая была устаревшей), и перенаправление с кодом (Multiple Choice) это ручное перенаправление: тело, представленное браузером, как веб-страница, перечисляет возможные перенаправления и пользователь выбирает одно из них.

Код Текст Случаи использования
Не так много: варианты перечислены на HTML странице. Может быть обслужен со статусом .
Обновление кеша: означает, что значение кеша все еще актуально и может быть использовано.

301 редирект: что это такое

Можно столкнутся с несколькими видами редиректов, которые применяются в программировании и оптимизации. Одним из них будет 301 редирект, что это такое для нас не секрет. По другому его еще называют 301 Moved Permanently.

Один из наиболее популярных видов, к помощи которого прибегают для переноса локации навсегда, после чего следует заняться качественной настройкой Яндекс Директ, чтоб сделать это с минимальными потерями. Обычно этот редирект используется на постоянной основе при:

  • Перемещении доменов;
  • Перемещении документов;
  • Изменении протоколов сайтов;
  • Изменении структуры сайтов.

По окончанию данного процесса, Ваш прежний URL исчезнет из выдачи, а новый будет индексироваться поисковиками, сохранив показатели прежнего.А если сервис будет выдавать браузеру ошибку 404 – это будет означать, что редирект не настроен.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector