Главная > Веб мастерская > SEO-оптимизация > Редиректы htaccess. Отличие 301 редиректа от 302 и 307

Редиректы htaccess. Отличие 301 редиректа от 302 и 307

Простое перенаправление — директива Redirect ( 301 редирект htaccess )

1. Осуществление перенаправления на новые страницы сайта

301 редирект

Если на сайте были перемещены страницы на новые адреса, то пользователь или поисковый робот, обратившись по старому адресу, наверняка их не увидит. Чтобы склеить старый и новый адреса страницы можно применить простой 301 редирект.  Для этого в файле конфигурации htaccess необходимо прописать  следующий код:

Redirect 301 /staraya.html http://vash-sait.ru/novaya.html

2. Приведение фидов к общему формату

Раньше использовались различные форматы фидов, такие как: Atom, RSS, Rdf. Сегодня RSS является основным и самым популярным среди них, поэтому можно позаботиться о том, чтобы другие форматы перенаправлялись в один. Для этого также используется файл htaccess и следующий код:

<IfModule mod_alias.c>

RedirectMatch 301 /feed/(atom|rdf|rss|rss2)/?$ http://vash-sait.ru/feed<a href="http://vas-sait.ru/feed/">/</a>

</IfModule>

 Сложное перенаправление — директива RewriteRule

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

Очень часто приходится использовать 301 редирект в htaccess для склеивания доменов с www и без www.

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

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.info-business.pro$ [NC]

RewriteRule ^(.*)$ /$1 [R=301,L]

 2. Перенаправление посетителей на разные старницы в зависимости от IP-адреса посетителя.

В htaccess имеется возможность указать на какую страницу, будет перенаправлен пользователь с конкретным IP-адресом. Например, перенаправление посетителей с ip адресом 183.11.101.1 на страницу kontakt.html

SetEnvIf REMOTE_ADDR 183.11.101.1 REDIR="redir"

RewriteCond %{REDIR} redir

RewriteRule ^/$ /kontakt.html

3. Перенаправление в случае обновления веб-ресурса

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

RewriteEngine on

RewriteCond %{REQUEST_URI} !/info.html$

RewriteCond %{REMOTE_HOST} !^14.124.354.80

RewriteRule $ http://vash-sait.ru/info.html [R=302,L]

Где 14.124.354.80 — заменить на свой IP адресс.

4. Защита от хотлинков

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

RewriteEngine On

RewriteCond %{HTTP_REFERER} !^$

RewriteCond %{HTTP_REFERER} !^http://([ -a-z0-9] .)?vash-sait.ru [NC]

RewriteRule .(gif|jpe?g|png)$ - [F,NC,L]

В приведенном выше примере на сайте грузящем изображение будет появляться ошибка 403, если желаете чтобы вместо картинки отображалась определенная картинка, то последнюю строку замените на следующую:

RewriteRule .(jpg|png|gif)$ http://vash-sait.ru/images/imageinfo.jpg [NC,R,L]

5. Перенаправление на безопасное https-соединение

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

RewriteEngine On

RewriteCond %{HTTPS} !on

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

6. Автоматическая подстановка слеша в конце адреса.

Очень распространены ситуации, когда URL-адрес, заканчивается именем каталога: http://vash-sait.ru/images/raznoe

Apache самостоятельно может исправить ошибку и сделать 301-е перенаправление, добавив к ссылке недостающий слеш. Таким образом, пользователь не ощутит никакой разницы и получит в ответ необходимую страницу. Но на выполнение такого действия понадобится в два раза больше времени. Следующий код всегда будет добавлять / в конце адреса.

RewriteCond %{REQUEST_URI} /+[^.]+$

RewriteRule ^(.+[^/])$ %{REQUEST_URI}/ [R=301,L]

7. Блокировка пользователей пришедших с определенного сайта

Если владелец сайта не хочет, чтобы его ресурс посещали пользователи, зашедшие с определенного домена и требуется им закрыть доступ — htaccess также готов помочь. Вы можете перекрыть трафик с определенных сайтов используя страницу 403 или «запрет доступа». Полезна данная настройка тогда, когда на ваш сайт появились ссылки с сайтов с запрещенным контентом и по ним идет трафик на ваш сайт.

<IfModule mod_rewrite.c>

RewriteEngine on

RewriteCond %{HTTP_REFERER} zapretnui-sait.com [NC,OR]

RewriteCond %{HTTP_REFERER} zapretnui-sait.com [NC,OR]

RewriteRule .* - [F]

</ifModule>

Редирект в htaccess, отличие 301 редиректа от 302 и 307

Очень часто перейдя на какой-либо из сайтов, можно внезапно оказаться на странице с ошибкой 307, 302, или же 301. Наверняка каждый из нас, хотя бы раз да сталкивался с такими ошибками. Но далеко не каждый знает значение данной ошибки, а также видит разницу между ними.

307, 302 и 301 редирект в htaccess, используется в случае изменения адреса к конкретному материалу на сервере. Благодаря данным редиректам, можно без каких-либо сложностей сменить домен своего сайта, даже не переживая о том, что ваши потребители или новые клиенты, планировавшие обращение к вам — не смогут найти ваш ресурс.

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

Основной разницей между 307, 302 и 301 редиректом, заключается в постоянстве. 307 и 302 — используются для указания информации о временном отсутствии доступа к информации, размещенной по этому адресу. Такого рода редирект используется в случае временного отключения сайта или определенной страницы, во время проведения технических работ. В отличие от первых двух, 301 редирект в htaccess, используется в случае постоянного изменения места расположения конкретной страницы с материалом, или же ресурса в целом. К примеру, в случае переезда на новый домен.

NEW!!! Полезное, нужное, важное:

Где заработать в интернете деньги? Надёжно, честно, без обмана!
Платежные системы, кошельки и обменники для работы

Лучшие хостинги, сервера и прочее для сайтов

Смотрите также

Работа с запросами, входящими в семантическое ядро

Работа с запросами, входящими в семантическое ядро (СЯ) состоит из сбора, очистки и кластеризации. Получив результаты группировки, нужно определить оптимальное место для каждого из них: на странице ресурса, в составе контента вашего сайта или сторонней площадки.

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

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