Купить Корзина
  • Облако и 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 и сможете настроить его по нашей инструкции.

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

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

     👍
    Специальные предложения
    • Гранты для бизнеса до 500к
    • Скидки на cloud GPU до 50%
    • Скидки на bare-metal с А4000 и А5000
    • Кешбэк 100% на kubernetes
    • vk
    • telegram
    • ok
    • vc
    • dzen
    • rbc
    • Продукты
      • Домены
      • Хостинг
      • Почта
      • SSL-сертификаты
      • Конструктор сайтов
      • VPS и VDS серверы
      • Магазин доменов
      • Облако для бизнеса
    • Решения по сфере бизнеса
      • Подойдут всем
      • Маркетплейсы
      • Образование
      • Бьюти
      • Медицина
      • Автосервисы
      • Бытовые услуги
      • Досуг
      • Спорт
      • Все решения
    • Сервисы
      • Whois – проверить данные домена
      • Определить IP адрес
      • Проверить порт на доступность
      • Проверить IP адрес сайта
      • Перевести домен в Punycode
      • Проверить скорость интернета
    • Компания
      • О компании
      • Контакты
      • Офисы
      • Новости
      • Акции и скидки
      • Блог
      • Отзывы клиентов
    • Полезное
      • Стоимость услуг
      • Способы оплаты
      • Бонусная программа
      • Документы
      • База знаний
      • ЭДО
      • Партнерам
    • Другое
      • Сообщить о нарушении
      • РБК: новости России и мира сегодня
      • Новости компаний РФ
      • РБК Инвестиции: курсы валют
      • Спецпроект с Онлайн Патентом

    Облачная платформа Рег.ру включена в реестр российского ПО Запись № 23682 от 29.08.2024

    • mintsifry
    • icann
    • cctld
    © ООО «РЕГ.РУ»
    • Политика конфиденциальности
    • Политика обработки персональных данных
    • Правила применения рекомендательных технологий
    • Правила пользования и другие правила и политики
    • Используем куки, это делает удобнее вашу работу с сайтом