Задать вопрос
Все статьи / Хостинг / .htaccess / Как настроить редирект через .htaccess
Найти результаты:
Период:
с:
 
по:
Помощь в поиске

Помощь в поиске

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

+apple +juice
Найти записи, которые содержат оба слова.

+apple macintosh
Найти записи, которые содержат слово 'apple', но положение записей выше, если они также содержат 'macintosh'.

+apple -macintosh
Найти записи, которые содержат слово 'apple', но не 'macintosh'.

+apple ~macintosh
Найти записи, которые содержат слово 'apple', но если запись также содержит слово 'macintosh', rate it lower than if row does not. Это более "мягкий" чем поиск '+apple -macintosh', для которого наличие 'macintosh' вызывает что записи не будут возвращены вовсе.

+apple +(>turnover <strudel)
Найти записи, которые содержат слова 'apple' и 'turnover', или 'apple' и 'strudel' (в любом порядке), но ранг 'apple turnover' выше чем 'apple strudel'.

apple*
Найти записи, которые содержат такие слова как 'apple', 'apples', 'applesauce', или 'applet'.

"some words"
Найти записи, которые содержат точную фразу 'some words' (например записи содержащие 'some words of wisdom', но не "some noise words").

Как настроить редирект через .htaccess

Редирект — это перенаправление пользователя с одного URL на другой. Настроить его можно разными способами:

  • через HTML-код,
  • с помощью скрипта PHP,
  • в файле web.config,
  • в файле .htaccess (301) и др.

О последнем способе мы расскажем в статье.

Какими бывают редиректы

Существуют разные типы перенаправлений с кодом 3хх. Наиболее популярные из них:

  • 300 редирект — множественный выбор,
  • 301 редирект — постоянный,
  • 302 редирект — временный,
  • 303 редирект — «смотрите другое»,
  • 305 редирект — «используйте прокси».

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

Когда подойдет редирект через htaccess

.htaccess — это конфигурационный файл веб-сервера Apache, который позволяет управлять настройками веб-ресурса. Он находится в корневой директории сайта. Главная особенность .htaccess — возможность не только настроить редирект на другой сайт, но и перенаправить отдельные страницы.

Переадресация в htaccess подойдет для точечной настройки редиректов, например:

  • с одного домена на другой домен;
  • 301 редирект с одной страницы сайта на другую;
  • со всех страниц, кроме стартовой;
  • на домен с www и без www;
  • для одного или нескольких IP-адресов;
  • с главной страницы, исключив другие страницы сайта;
  • на https:// и http:// (301 редирект);
  • с массовой склейкой;
  • с GET-параметрами.

Как сделать 301 редирект через htaccess

Важно: если вы используете кириллический домен, его нужно указывать в формате Punycode.
Для настройки 301 редиректа необходимо авторизоваться в панели управления.

.htaccess-редирект с одного домена на другой

Перейдите в директорию домена, с которого нужно настроить редирект. В файл .htaccess добавьте строки:

RewriteEngine On
RewriteCond %{HTTP_HOST} old-domain.ru
RewriteRule (.*) http://new-domain.ru/$1 [R=301,L]

Где:

  • old-domain.ru — домен, с которого вы настраиваете перенаправление;
  • new-domain.ru — домен, на который нужно перенаправить пользователей.

Если вы хотите настроить 301 редирект со страницы на страницу, укажите ее в директиве. Например:

RewriteEngine On
RewriteCond %{HTTP_HOST} old-domain.ru/contacts
RewriteRule (.*) http://new-domain.ru/contacts/$1 [R=301,L]

Где:

  • old-domain.ru/contacts — адрес старой страницы,
  • new-domain.ru/contacts — адрес новой страницы.

.htaccess-редирект на домен с WWW и без WWW

Перейдите в директорию сайта и откройте файл .htaccess. Для перенаправления на домен без WWW добавьте строки:

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

Вместо domain.ru укажите доменное имя вашего сайта.
Если вы хотите, наоборот, перенаправить трафик на поддомен WWW, используйте следующие строки:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain.ru
RewriteRule (.*) http://www.domain.ru/$1 [R=301,L]

Вместо domain.ru укажите доменное имя вашего сайта.

.htaccess-редирект для отдельного IP-адреса

Перейдите в корневую папку сайта. Откройте .htaccess и добавьте строки:

RewriteEngine On
RewriteCond %{REMOTE_ADDR} 123.123.123.123
RewriteRule ^(.*)$ http://domain.ru [R=301,L]

Где:

  • 123.123.123.123 — IP-адрес, для которого нужно настроить редирект;
  • domain.ru — доменное имя вашего сайта.

.htaccess-редирект на http://

Перейдите в корневую папку сайта. Откройте .htaccess и добавьте строки:

RewriteEngine On
RewriteCond %{SERVER_PORT} 443
RewriteRule ^(.*)$ http://domain.ru/$1 [R=301,L]

Вместо domain.ru укажите доменное имя вашего сайта.

.htaccess-редирект на https://

Перейдите в корневую папку сайта. Откройте .htaccess и добавьте строки:

RewriteEngine on
SetEnvIf X-Forwarded-Proto https SERVER_PORT=443
SetEnvIf X-Forwarded-Proto https HTTPS=on
RewriteCond %{HTTP:HTTPS} !=on [NC]
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

.htaccess-редирект с главной страницы, кроме остальных страниц сайта

Перейдите в директорию сайта. Откройте .htaccess и добавьте строки:

RewriteEngine On
RewriteRule ^$ https://domain.ru [R=301,L]

Вместо domain.ru укажите доменное имя вашего сайта.

.htaccess-редирект с GET-параметрами

Перейдите в директорию сайта. Откройте .htaccess и добавьте строки:

RewriteCond %{REQUEST_URI} /index.php
RewriteRule ^(.*)$ http://domain.ru/ [R=301,L]

Вместо domain.ru укажите доменное имя вашего сайта.

.htaccess-редирект с массовой склейкой

Перейдите в директорию сайта и откройте .htaccess. Чтобы настроить перенаправление всех страниц на основной домен, добавьте строки:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.(php|html|htm)\ HTTP/
RewriteRule ^(.*)index\.(php|html|htm)$ http://domain.ru/$1 [R=301,L]

Вместо domain.ru укажите доменное имя вашего сайта.

Редирект с одной страницы на другую

Переадресация позволяет направлять посетителя на файл new.html когда он запрашивает файл old.html. Чтобы увидеть этот пример на практике, достаточно добавить следующую строку в файл .htaccess, расположенный в папке сайта. Строка должна быть введена как одна строка без переносов:

Redirect /directoryname/old.html http://yourdomainname/directoryname/new.html
Предыдущая статья
Как запретить доступ к сайту через файл .htaccess
Следующая статья
Контроль доступа через .htaccess для apache