Купить Корзина
  • Домены и сайты
  • Облако и IT-инфраструктура
  • Вход
  • Телефон в Москве

    +7 495 580-11-11
  • Бесплатный звонок по России

    8 800 555-34-78
  • Или обратитесь в наши офисы

    Региональные номера
    1. База знаний
    2. Хостинг
    3. Редиректы
    4. Редирект через .htaccess

    Редирект через .htaccess

    Редирект можно настроить разными способами: в панели управления хостингом, через код HTML, через PHP, с помощью web.config, через .htaccess, а также другими способами. Рассмотрим, в чём особенность редиректа через .htaccess и как настроить 301-й .htaccess-редирект с одной страницы на другую, а также Bitrix redirect.

    Если вы ещё не знаете, зачем нужно перенаправление страниц сайта, читайте нашу статью Что такое редирект.

    В каких случаях подойдет .htaccess-редирект

    Чтобы понять, для каких целей лучше подходит .htaccess-редирект, разберёмся, что такое .htaccess.

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

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

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

    Для чего нужен 301-й редирект

    Помимо разных способов настройки переадресации, существуют разные виды редиректов. Каждый из них имеет своё кодовое название. Основные виды:

    • 300 — сообщает, что по искомому запросу можно перейти не на одну, а на несколько альтернативных страниц;
    • 301 — постоянный;
    • 302 — временный;
    • 303 — на схожую по тематике страницу;
    • 305 — отсылающий к подключению через прокси-сервер.

    Также существуют 304-й, 306-й и 307-й редиректы. Однако сейчас эти виды практически никто не использует. Один из самых популярных видов — это 301-й.

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

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

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

    Обратите внимание

    Кириллические домены (в зоне .РФ .РУС и др.) необходимо прописывать в коде в формате Punycode: Как перевести домен в Punycode.

    301 редирект Битрикс

    1С-Битрикс — популярная CMS в которой время от времени необходимо настраивать перенаправление.

    • Если вы хотите переадресовать домен с WWW на без WWW, укажите:
    RewriteCond %{HTTPS} off 
    RewriteCond %{REQUEST_URI} !^/bitrix/admin/1c_exchange\.php$ [NC] 
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    <IfModule mod_rewrite.c>
        Options +FollowSymLinks
        RewriteEngine On
        RewriteCond %{HTTP_HOST} ^www.site\.ru$ [NC]
        RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
    </IfModule>

    Где www.site.ru — домен, с которого происходит редирект, а site.ru — домен, на который происходит редирект.

    • Если вам нужно сделать редирект Bitrix с домена без WWW на WWW, введите комбинацию:
    RewriteCond %{ENV:HTTPS} on 
    RewriteRule .* - [E=SSL:s] 
    RewriteCond %{HTTP_HOST} !^www\.(.*) [NC] 
    RewriteRule ^(.*)$ http%{ENV:SSL}://www.%{HTTP_HOST}/$1 [R=301,L]

    Где www. — домен, с которого происходит редирект, а www. — домен, на который происходит редирект.

    • Если вы хотите настроить в Битрикс редирект на другую страницу с http:// на https://, пропишите:
    RewriteCond %{HTTPS} off 
    RewriteCond %{REQUEST_URI} !^/bitrix/admin/1c_exchange\.php$ [NC] 
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    301 редирект с одного домена на другой

    В файл .htaccess, который находится в папке сайта, с которого необходимо сделать переадресацию, добавьте следующие строки:

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

    Где:

    • old-site.ru — домен, с которого происходит редирект;
    • new-site.ru — домен, на который происходит редирект.
    301 редирект с одной страницы на другую

    Добавьте в .htaccess следующие строки:

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

    Где:

    • site.ru/old-page — адрес прежней страницы,
    • site.ru/new-page — адрес новой страницы.
    301 редирект с домена с WWW на домен без WWW

    Добавьте в .htaccess следующие строки:

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

    Где site.ru — имя вашего домена.

    301 редирект с домена без WWW на домен с WWW

    Добавьте в .htaccess следующие строки:

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

    Где site.ru — имя вашего домена.

    301 редирект для отдельного IP

    Добавьте в .htaccess следующие строки:

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

    Где site.ru — имя вашего домена.

    301 редирект с https:// на http://

    Добавьте в .htaccess следующие строки:

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

    Где site.ru — имя вашего домена.

    301 редирект с http:// на https:// для Linux

    Добавьте в .htaccess код из нужного вам примера ниже:

    • Для всех страниц с http:// на https://

    Для всех страниц с http:// на https://, в том числе и с http://www на https://

    RewriteEngine On
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

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

    RewriteEngine On
    RewriteCond %{HTTPS} =off 
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

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

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    RewriteEngine On 
    RewriteCond %{ENV:HTTPS} !on 
    RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    • Перенаправление на https только выбранной страницы

    В примерах ниже переадресация настраивается для страницы login.php:

    RewriteEngine On
    RewriteCond %{HTTPS} =off
    RewriteCond %{REQUEST_URI} =/login.php
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]

    Или:

    RewriteEngine On
    RewriteCond %{SERVER_PORT} !^443$
    RewriteCond %{REQUEST_URI} =/login.php
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]
    • Перенаправление на https всех страниц, кроме одной

    В примере ниже редирект настраивается для страницы test.php.

    RewriteEngine On
    RewriteCond %{HTTPS} =off
    RewriteCond %{REQUEST_URI} !^/test.php
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L]
    301 редирект с главной страницы, кроме остальных страниц сайта

    В файл .htaccess, который находится в папке сайта, с которого необходимо сделать переадресацию, добавьте следующие строки:

    RewriteEngine On
    RewriteRule ^$ https://site.ru [R=301,L]
    301 редирект со всех страниц сайта, кроме главной

    В файл .htaccess, который находится в папке сайта, с которого необходимо сделать переадресацию, добавьте следующие строки:

    RewriteEngine On
    RewriteCond %{REQUEST_URI} !^/$
    RewriteRule ^(.*)$ http://site.ru/ [L,R=301]
    301 редирект с GET-параметрами

    Если вам необходимо сделать .htaccess редирект с get параметрами, укажите:

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

    Где site.ru — имя вашего домена.

    301 редирект с массовой склейкой

    Если вам необходимо сделать .htaccess редирект на index php, введите:

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

    Где site.ru — имя вашего домена.

    Внимание

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

    Теперь вы знаете, как сделать редирект со страницы на страницу через htaccess и сможете настроить его по нашей инструкции.

    Помогла ли вам статья?

    Спасибо за оценку. Рады помочь 😊

     👍
    Специальные предложения
    • Бесплатный хостинг для сайта
    • Дешевый хостинг
    • Бесплатный VPS-сервер
    • Дешёвые VPS
    Рассылка Рег.ру

    Лайфхаки, скидки и новости об IT

    Даю согласие на получение рекламных и информационных материалов

    Домены и сайты
    • Домены
    • Хостинг
    • Создание сайтов
    • SSL-сертификаты
    • VPS и VDS серверы
    • Whois
    • Магазин доменов
    Облако
    и IT-инфраструктура
    • Облачные серверы
    • Частное облако
    • Облачное хранилище
    • Kubernetes в облаке (K8S)
    • Облачные базы данных
    • Выделенные серверы
    Полезное
    • Стоимость услуг
    • Cпособы оплаты
    • База знаний
    • Документы
    • ЭДО
    • Партнерам
    • Сообщить о нарушении
    • РБК: новости России и мира сегодня
    • Новости компаний РФ
    • РБК Инвестиции: курсы валют
    Компания
    • О компании
    • Контакты
    • Офисы
    • Новости
    • Акции и скидки
    • Блог
    • Отзывы клиентов
    8 800 555-34-78 Бесплатный звонок по России
    +7 495 580-11-11 Телефон в Москве
    • vk
    • telegram
    • ok
    • moikrug
    • youtube
    • twitter
    • Облачная платформа Рег.ру включена в реестр российского ПО Запись №23682 от 29.08.2024
    • © ООО «РЕГ.РУ»
    • Политика конфиденциальности
      Политика обработки персональных данных
      Правила применения рекомендательных технологий
      Правила пользования
      и другие правила и политики
    • Нашли опечатку?
      Выделите и нажмите Ctrl+Enter
    • Мы используем cookie и рекомендательные технологии для персонализации сервисов и удобства пользователей. Вы можете запретить сохранение cookie в настройках своего браузера