Редирект через .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 % off RewriteCond % !^/bitrix/admin/1c_exchange\.php$ [NC] RewriteRule ^(.*)$ https://%% [L,R=301]
Options +FollowSymLinks RewriteEngine On RewriteCond % ^www.site\.ru$ [NC] RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
Где www.site.ru — домен, с которого происходит редирект, а site.ru — домен, на который происходит редирект.
- Если вам нужно сделать редирект Bitrix с домена без WWW на WWW, введите комбинацию:
RewriteCond % on RewriteRule .* - [E=SSL:s] RewriteCond % !^www\.(.*) [NC] RewriteRule ^(.*)$ http%://www.%/$1 [R=301,L]
Где www. — домен, с которого происходит редирект, а www. — домен, на который происходит редирект.
- Если вы хотите настроить в Битрикс редирект на другую страницу с http:// на https://, пропишите:
RewriteCond % off RewriteCond % !^/bitrix/admin/1c_exchange\.php$ [NC] RewriteRule ^(.*)$ https://%% [L,R=301]
301 редирект с одного домена на другой
В файл .htaccess, который находится в папке сайта, с которого необходимо сделать переадресацию, добавьте следующие строки:
RewriteEngine On RewriteCond % old-site.ru RewriteRule (.*) http://new-site.ru/$1 [R=301,L]
- old-site.ru — домен, с которого происходит редирект;
- new-site.ru — домен, на который происходит редирект.
301 редирект с одной страницы на другую
Добавьте в .htaccess следующие строки:
RewriteEngine On RewriteCond % 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 % ^www.site.ru$ [NC] RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
Где site.ru — имя вашего домена.
301 редирект с домена без WWW на домен с WWW
Добавьте в .htaccess следующие строки:
RewriteEngine On RewriteCond % ^site.ru RewriteRule (.*) http://www.site.ru/$1 [R=301,L]
Где site.ru — имя вашего домена.
301 редирект для отдельного IP
Добавьте в .htaccess следующие строки:
RewriteEngine On RewriteCond % 123.123.123.123 RewriteRule ^(.*)$ http://site.ru [R=301,L]
Где site.ru — имя вашего домена.
301 редирект с https:// на http://
Добавьте в .htaccess следующие строки:
RewriteEngine On RewriteCond % ^443$ [OR] RewriteCond % =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 % !^443$ RewriteRule .* https://%% [R=301,L]
Если первый вариант не поможет, воспользуйтесь вторым вариантом:
RewriteEngine On RewriteCond % =off RewriteRule (.*) https://%% [QSA,L]
Если все варианты не помогли и возникает циклическая переадресация:
RewriteEngine On RewriteCond % off RewriteCond % !https RewriteRule ^(.*)$ https://%% [L,R=301]
RewriteEngine On RewriteCond % !on RewriteRule ^(.*)$ https://%% [L,R=301]
- Перенаправление на https только выбранной страницы
В примерах ниже переадресация настраивается для страницы login.php:
RewriteEngine On RewriteCond % =off RewriteCond % =/login.php RewriteRule (.*) https://%% [QSA,L]
RewriteEngine On RewriteCond % !^443$ RewriteCond % =/login.php RewriteRule .* https://%% [R,L]
- Перенаправление на https всех страниц, кроме одной
В примере ниже редирект настраивается для страницы test.php.
RewriteEngine On RewriteCond % =off RewriteCond % !^/test.php RewriteRule (.*) https://%% [QSA,L]
301 редирект с главной страницы, кроме остальных страниц сайта
В файл .htaccess, который находится в папке сайта, с которого необходимо сделать переадресацию, добавьте следующие строки:
RewriteEngine On RewriteRule ^$ https://site.ru [R=301,L]
301 редирект со всех страниц сайта, кроме главной
В файл .htaccess, который находится в папке сайта, с которого необходимо сделать переадресацию, добавьте следующие строки:
RewriteEngine On RewriteCond % !^/$ RewriteRule ^(.*)$ http://site.ru/ [L,R=301]
301 редирект с GET-параметрами
Если вам необходимо сделать .htaccess редирект с get параметрами, укажите:
RewriteCond % /index.php RewriteRule ^(.*)$ http://site.ru/ [R=301,L]
Где site.ru — имя вашего домена.
301 редирект с массовой склейкой
Если вам необходимо сделать .htaccess редирект на index php, введите:
RewriteCond % ^[A-Z]\ /index\.(php|html|htm)\ HTTP/ RewriteRule ^(.*)index\.(php|html|htm)$ http://site.ru/$1 [R=301,L]
Где site.ru — имя вашего домена.
Если вы выполнили все шаги инструкции, но не получили желаемого результата, это может быть связано с локальными настройками. Напишите заявку в службу поддержки, наши специалисты оперативно вам помогут.
Теперь вы знаете, как сделать редирект со страницы на страницу через htaccess и сможете настроить его по нашей инструкции.
Помогла ли вам статья?
Спасибо за оценку. Рады помочь
Как сделать 301 редирект в файле .htaccess? Примеры настройки 301-редиректов на сайте
Введение. Правила приведены для сервера Apache. В правилах: % — обозначает фрагмент URL-адреса после знака вопроса (задания значений CGI-параметров). Срабатывание того или иного правила для редиректа определяется тем, попадает URL-адрес страницы под это правило или нет. О значении тех или иных обозначений (^, $, NC и т.д.) см. памятку в конце страницы.
Ниже даны наиболее используемые правила настройки файла .htaccess для 301-редиректа. Лучше размещать все правила после двух строк:
Options +FollowSymLinks
RewriteEngine On
301-редирект с домена без WWW на домен с WWW префиксом #
RewriteCond % ^site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
С домена с WWW префиксом на без #
RewriteCond % ^www.site\.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
Стандартная переадресация с одной статической страницы на другую #
Redirect 301 /was.php http://www.site.ru/new.php
При этом, новый адрес указывать необходимо полностью с http и доменным именем.
В ряде случаев полезна переадресация через RewriteRule #
RewriteRule ^dir /dir-new/$1 [R=301,L]
301-редирект для страницы с GET параметрами #
Скажем, адрес страницы имеет вид: http://www.site.ru/dir/index.php?IBLOCK_ID=1&SECTION_ID=111 тогда для настройки 301 переадресации на новый адрес, необходимо использовать следующее правило:
RewriteCond % ^IBLOCK_ID=1&SECTION_ID=111$ [NC]
RewriteRule ^dir/index\.php$ /new/sef/? [R=301,L]
Если один (или несколько) из GET параметров не задан(ы) или может иметь произвольное значение (в нашем примере это SECTION_ID), можно использовать следующий код:
RewriteCond % ^IBLOCK_ID=1&SECTION_ID=(.*)$ [NC]
RewriteRule ^dir/index\.php$ /new/sef/? [R=301,L]
301-редирект со страницы без заданного параметра в корень #
Если адрес имеет следующий вид: http://www.site.ru/?abc то для перенаправления подойдет последовательность строчек:
RewriteCond % ^abc$ [NC]
RewriteRule ^$ /? [R=301,L]
301-редирект для конкретного файла, а не целой папки #
Если требуется настроить переадресацию только для адреса http://www.site.ru/dir/, но при этом чтобы страница http://www.site.ru/dir/index.php?IBLOCK_ID=1 открывалась по старому адресу, необходимо использовать спецсимвол $ в правиле.
RewriteRule ^dir/$ http://www.site.ru/new-dir/ [R=301,L]
Как быть с доменами в зоне РФ? #
Для доменов в зоне РФ действуют все те же правила, но только все кириллические символы необходимо заменить на альтернативный код (он на латинице). В частности, сама зона .рф преобразуется в .xn--p1ai.
301-редирект с домена на домен #
RewriteCond % ^old-site\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
И для домена в зоне РФ:
RewriteCond % ^xn-. \.xn--p1ai$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
Настройка переадресации на папки со слешем в конце / #
Настройка переадресации на папки без слеша (убираем слеш в конце) #
301-редирект с домена на папку на другом домене #
RewriteCond % ^si-te\.ru$ [NC]
RewriteRule ^(.*)$ http://www.site.ru/si-te/ [R=301,L]
Редирект со всех файлов домена, кроме папки администратора bitrix #
RewriteRule ^bitrix/ /bitrix/admin/ [L,R=301]
RewriteRule ^(.*)$ http://www.newsite.ru/new/ [L,R=301]
Редирект всех файлов в папке на заданный файл #
RewriteRule ^dir(.*)$ /new-file.php [L,R=301]
Редирект файлов из заданной папки кроме, определенного файла #
RewriteRule ^dir/no-file.html /no-file-new.html [L,R=301]
RewriteRule ^dir(.*)$ /all.php [L,R=301]
Смена страниц с html расширения на php расширение #
RedirectMatch 301 (.*)\.html$ http://www.new-site.ru$1.php
Задание типа индексной страницы (php, html, htm и другие) #
Указывается порядок загрузки типов индексного файла, лежащих в корне каталога.
DirectoryIndex index.html index.php index.htm index.shtml
Редирект с индексной страницы php на саму папку (корень) #
RewriteCond % ^[A-Z]\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.site.ru/ [R=301,L]
Для всех индексных страниц на сайте:
RewriteRule ^(.*)index\.php$ http://www.site.ru/$1 [R=301,L]
Редирект с поддомена на основной домен второго уровня #
RewriteCond % ^test.site.ru$ [NC]
RewriteRule ^(.*)$ http://site.ru% [R=301,NC,L,QSA]
Редирект для заданного файла в различных директориях (папках) #
RewriteRule [^abc]/unique-file.html /unique-file.html [R=301,L]
Код позволяет поставить 301-редирект со всех папок вида http://site.ru/***/uniqe-file.html на один файл в корне /unique-file.html. Бывает полезен при переделке сайта и изменении ссылок.
Если требуется создать ЧПУ-копию какой-либо динамической страницы, то это можно также реализовать с помощью .htaccess. #
RewriteRule ^testovyi/test/?$ /studio/news/detail.php?ID=230354&PAGEN_2=11 [NC,L]
Код позволяет создать копию страницы с относительным адресом /studio/news/detail.php?ID=230354&PAGEN_2=11 по адресу /testovyi/test/
301-редирект с HTTPS-версии на HTTP #
Позволяет устранить наличие дублей URL с HTTPS в индексе поисковых систем.
Настройка 403 кода ответа сервера для реф-спама (301-редирект для спама по REFERER) для списка ресурсов #
RewriteCond % ref-spam-site.ru [NC,OR]
RewriteCond % another-ref-spam.ru [NC]
RewriteRule .* — [F]
Настройка позволяет отклонить спамный реферальный трафик с ряда ресурсов по заголовку HTTP_REFERER.
Указание пути к файлу 404 ошибки с помощью .htaccess #
Внимание, важно чтобы код ответа сервера для 404 ошибки был именно 404. Путь к файлу указывается с помощью следующей строчки:
ErrorDocument 404 /404-for-me.php
! Все правила выполняются в прямом порядке их следования в файле .htaccess и правило, написанное позже, и будет выполняться позже.
! Для сайтов, на которых используется не сервер Apache, аналогичные 301-редиректы легко настраиваются с помощью PHP.
! Оптимально настраивать все редиректы сразу на конечную страницу (без промежуточных перенаправлений, в один шаг) это улучшает их восприятие со стороны поисковых систем и пользователей.
Если требуется настроить редирект только для некоторых USER_AGENT’ов, а не для всех пользователей #
RewriteCond % (iPad|ipad|iphone|iPhone|ipod|iPod|android|midp|j2me|symbian|series\ 60|symbos|windows\ mobile|windows\ ce|ppc|smartphone|blackberry|mtk|bada|windows\ phone) [NC]
RewriteRule (.*) http://mobile.site.ru/ [L,R=301]
Если требуется настроить редирект для всех поисковых роботов (представлен список их USER_AGENT’ов) #
RewriteCond % !(accoona|ia_archiver|antabot|ask\ jeeves|baidu|dcpbot |eltaindexer|feedfetcher|gamespy|gigabot|googlebot |gsa-crawler|grub-client|gulper|slurp|mihalism|msnbot|worldindexer |ooyyo|pagebull|scooter|w3c_validator|jigsaw|webalta|yahoofeedseeker |yahoo!\ slurp|mmcrawler|yandexbot|yandeximages |yandexvideo|yandexmedia|yandexblogs|yandexaddurl|yandexfavicons |yandexdirect|yandexmetrika|yandexcatalog|yandexnews |yandeximageresizer) [NC]
RewriteRule (.*) http://no-search.site.ru/ [L,R=301]
Несколько простых примеров #
Переадресация с www.site.ru/component/content/?view=featured на www.site.ru/
RewriteCond % ^view=featured$ [NC]
RewriteRule ^component/content/$ /? [R=301,L]
Переадресация с www.site.ru/index.php?idc=4&marea=6 на www.site.ru/
RewriteCond % ^idc=4&marea=6$ [NC]
RewriteRule ^index\.php$ /? [R=301,L]
Синтаксис для регулярных выражений #
. — Точка заменяет произвольный символ.
[abc] — обозначает перечень символов, совпадающих с буквами a, b, или с.
[^abc] — перечень символов, которые не входят в указанных диапазон. Совпадёт с любым символом, кроме a, b, или с.
* — означает, что предшествующий символ может повторяться (0 или более раз).
[abc]* — команда найдёт идущие подряд символы из заданного набора.
[^abc]* — с точностью до наоборот.
.* — заменяет абсолютно любой набор символов. «.*» — найдёт все подстроки между кавычками.
^ — начало строки (в том случае, если используется в начале выражения).
$ — обозначает конец строки.
\w — буква, цифра или подчёркивание _.
\d — заменяет любую цифру.
\D — заменяет любой символ, но не цифру.
[0-9] — заменяет любую цифру.
[a-z] — любая буква от a до z (весь латинский набор символов) в нижнем регистре.
[A-Z] — любая буква от A до Z в ВЕРХНЕМ регистре.
[a-zA-Z] — любая буква от a до Z в любом регистре.
[a-Z] — то же самое.
Убираем все GET-параметры после знака вопроса (?) #
RewriteRule (.*) $1? [R=301,L]
Располагать после: RewriteBase /
Памятка по используемым символам и обозначениям
Строчка RewriteCond — условие выполнения правила RewriteRule. Если условие выполняется, то срабатывает редирект. Правила могут задаваться с помощью регулярных выражений.
Спецсимволы, используемые в правилах и их значения.
- ^ — спецсимвол начала строки;
- $ — спецсимвол конца строки;
- ! — спецсимвол отрицания;
- . — точка, заменяет любой символ, но только один;
- () — группировка;
- \ — «экранирующий» слеш, следующий символ после него считается обычным, а не спецсимволом.
Модификаторы используются после обычных, спецсимволов или их групп и позволяют расширить возможности шаблонов для срабатывания правил.
- ? — символ повторяется 0 или 1 раз.
- + — повторяется от 1 до 65536 раз.
- * — повторяется от 0 до 65536 раз.
Флаги, задают доп. опции для используемого правила. Перечисляются в квадратных скобках через запятую, скажем [NC] или [R=301,L].
- NC — флаг NoCase, отключающий проверку регистра символов при срабатывании правила.
- R — флаг Redirect, производит процесс остановки изменения URL-адреса и возвращает результат. Чаще всего используется значение R=301, но возможны и другие для временных перенаправлений (302, MOVED TEMPORARY).
- L — флаг Last, останавливает формирования URL-адреса и строка считается окончательной.
Как настроить 301 редирект с HTTP на HTTPS-версию сайта

Коллеги! С вами Ярослав Голуб , руководитель интернет-агентства INTEC .Бывают ситуации, когда сайту требуется автоматическое перенаправление пользователей с одного адреса на другой. Этот процесс называется редиректом. Необходимость сделать редирект может возникнуть из-за многих причин: переезд сайта на обновленный адрес, изменение адресов страниц и т.п.
Чтобы пользователи могли найти сайт по новому адресу, нужно сделать так, чтобы их автоматически «перекидывало» со старого веб-ресурса на новый. Правильно сделать это можно с помощью постоянного редиректа, который называется 301 Redirect. Поговорим о нем подробнее.
[spoiler]
Что такое 301-редирект
Редирект — это операция, при которой посетитель сайта с неактуальной страницы попадает на действующую. Это может быть http и https, либо адрес с www или без него. Редирект можно выполнять и в браузере, и на сервере. Последний вариант более предпочтителен, потому что не замедляет загрузку страниц.
Принцип работы 301-редиректа: Ты туда не ходи, ты сюда ходи!
Самые популярные виды редиректа — Temporary Redirect 302 и Permanent Redirect 301. Последний имеет множество названий: «код состояния HTTP 301», «301-редирект», «301-редирект страницы», «постоянный редирект». При перманентной переадресации страницы сервер выдает специальный ответ на запрос браузера. После редиректа страница будет недоступна по старому адресу, а прежний URL станет недействительным: его вес перейдет на новый адрес.
Для чего нужен редирект
Очень важно правильно настроить редирект: в противном случае сайт потеряет позиции в поисковике после перемещения контента или изменения домена. Если все сделано верно, поисковик поймет, что страницу переместили правильно, сохранит ее позицию и вес в выдаче.
Когда решил проблему с редиректом, но создал новые
Secure Sockets Layer (SSL) — протокол безопасности, использующийся серверами и браузерами для защиты передачи данных пользователей в интернете. Браузер может блокировать ссылки, ведущие на сайты без SSL.
Сертификат можно получить на своем хостинге в разделе «Домены» для каждого доменного имени.
После установки SSL ресурс перейдет с протокола http на https. Чтобы после этого пользователи попадали на ваш веб-ресурс, настройте 301-редирект.
Одинаковые URL (с http и https) без 301-редиректа будут распознаваться поисковиками как дубли. Из-за этого у сайта могут быть проблемы с индексацией.
Настройка 301-редиректа через файл .htaccess
Все страницы сайта с http должны автоматически перебрасывать посетителя на https. Как это сделать: внесите изменения в файл .htaccess, который расположен в корневой папке веб-ресурса. Если его там нет, нужно создать файл .htaccess и добавить в него такой код:
или воспользуйтесь вторым вариантом (если первый вариант не поможет):
если все варианты не помогли и возникает циклическая переадресация, добавьте:
Внимание! Не указывайте доменное имя.
Эта комбинация перенаправит на https всех пользователей и поисковые системы.
Теперь в адресной строке браузера нужно набрать названиедомена.ru и проверить, что вас за доли секунды перебросит на https://названиедомена.ru. Именно этого мы и добивались.
Важно! Файл .htaccess обязательно должен иметь точку в начале. Если файл называется просто htaccess, редирект не сработает.
Если после перехода сайта на https изменились некоторые шрифты, нужно найти в коде каждой страницы надпись с установкой шрифта. Обычно в ней есть http, и проблема именно в этом:
Теперь замените http на https:
Сложновато, но того стоит
Склейка зеркал сайта
Сайты http://названиесайта и http://www.названиесайта поисковики считают разными, хотя это адреса одного и того же ресурса.
Поисковики один сайт проиндексируют, а другой будет расцениваться как дубль, что может повлиять на его продвижение. Чтобы этого не случилось, нужно «склеить» сайты — прописать 301 редирект в .htaccess.
Если поисковые системы сначала проиндексировали версию с «с www», то главным зеркалом будет адрес вида www.site.ru , соответственно, в файл .htaccess нужно добавить редирект с адреса «без www» на адрес «с www».
Выглядит это так:
Напротив, если поисковики проиндексировали первой версию «без www», нужна переадресация с адреса вида www.site.ru на site.ru и главным зеркалом будет адрес вида site.ru. В файл нужно прописать:
RewriteRule .* http://%1/$0 [L,R=301]
Иногда редирект на https нужен на всех страницах, кроме одной. В такой ситуации логично использовать постраничный редирект:
Если нужно сделать редирект с http на https только одной страницы, например, page.php, вставьте в файл следующую конструкцию:
Если вам нужно перейти на другой домен и сохранить все позиции SEO, внесите в файл .htaccess:
RewriteCond % ^www.old_name.ru$ [NC]
RewriteCond % ^old_name.ru$ [NC]
Переадресация для URL с параметрами и без них
Как сделать редирект для URL без параметров? Если нужно поменять URL страницы, т.е. перетащить информацию с одной страницы на другую без потери значений SEO, пропишите в файл .htaccess следующее:
Рассмотрим, как выполнить редирект с параметрами. Для примера возьмем URL http://name.site/articles.php?section=1 , где параметр — это «section=1». Чтобы сделать редирект, пропишите такую конструкцию:
Переадресация с index.php на главную
В случае, если главная страница недоступна по нескольким адресам одновременно, используйте следующую конструкцию:
RewriteCond % ^[A-Z] /index.php HTTP/
Редирект со страниц со слешем на без слеша (для всего сайта)
Чтобы в файле .htaccess не было дублей, используйте конструкцию:
RewriteRule ^(.*)/$ /$1 [R=301,L]
Можно также применить более короткий вариант:
RewriteRule ^(.+)/$ /$1 [R=301,L]
Редирект со страниц без слеша на слеш (для всего сайта)
Если нужны адреса со слешем, используйте такой вариант:
Постоянный редирект для Nginx
Обычно этот сервер используется на VPS-хостинге совместно с сервером Apache. В нем для настройки 301 редиректа добавляют строки в конфигурационный файл nginx.config в секции server.
• C www на без www:
set $host_without_www $1;
rewrite ^ (.*) $ http: //$host_without_www$1 permanent;
• Без www на с www:
if($host~ * ^ [ ^ .] + .[ ^ .] + $) rewrite ^ (.*) $ $scheme: //www.$host$1 permanent;
Сохраните внесенные в файл изменения и перезапустите сервер.
301 редирект для разных панелей управления хостингом
Перейдите в блок «Домены», найдите «Перенаправления»:

В появившемся окне выполните следующее:
- в строке «Тип» выберите «Постоянный 301»;
- в строке « https://www » из списка выберите домен сайта (в качестве примера возьмем primer.ru);
- в строке «Перенаправляет на» укажите для домена адрес http://primer.ru ;
- в блоке «Перенаправление www» выберите «Перенаправлять только с www»;
- сохраните изменения, нажав на «Добавить».

В этой панели можно вносить изменения в файлы nginx.config или .htaccess. При этом панель имеет встроенный механизм редиректа. Так, чтобы настроить переадресацию на https/http, снимите галочку с соответствующего пункта в разделе «WWW-домены».
Настроить 301 редирект инструментами панели управления нельзя. Хостинг управляется с сервера Apache, поэтому редирект можно настроить с помощью файла .htaccess.

Особенности редиректа для популярных CMSWordPress
WordPress — одна из самых популярных CMS. Она имеет десятки плагинов для настройки постоянного редиректа, например:
- Redirection;
- Simple 301 Redirects;
- Quick Page;
- SEO Redirection;
- Safe Redirect Manager.

Редирект можно выполнить посредством внесения правок в файл .htaccess в разделе управления хостингом. Чтобы подключиться к нему, используйте FTP-клиента. Процесс совпадает с общей инструкцией для .htaccess.
Чтобы «перебросить» пользователя на новую страницу, отредактируйте файл .htaccess и внесите такой редирект:
RewriteCond % ^www.sng-it.ru$ [NC]

Автоматическое создание кода
Если вы по какой-то причине не можете самостоятельно создать код, воспользуйтесь помощью специалистов техподдержки или автоматическими онлайн-генераторами.
Чтобы поисковик считал 2 разных адреса одним сайтом, переадресация должна работать постоянно. 301 редирект — надежный и удобный инструмент, с помощью которого можно оптимизировать сайт и исправлять ошибки в его работе.
Помните, что с великой силой приходит великая ответственность
Однако использовать 301 редирект нужно осторожно: неправильная настройка может стать причиной сбоя в работе сайта или потери позиций ресурса в поисковике.
Напоминаем, что на линейку готовых решений INTEC: Universe действуют скидки:
Читайте другие наши статьи:
- 5 функций шестеренки на INTEC:Universe, о которых вы, возможно, не знали
- Кейс MENDELEEV SHOP: разработка сайта для поставщика химической продукции
- Брошенные корзины: 7 способов вернуть покупателя
- Виджеты для сайта: какие бывают и как использовать
- Как оптимизировать фото на сайте и привлекать трафик из поиска по картинкам
- Sitemap: устанавливаем карту сайта
- SSL-сертификаты: что это такое и как правильно выбрать
- Мы обновили INTEC: Конструктор!
- Обновления INTEC: Конструктор — Увеличенная скорость работы
- Кейс: разработка сайта для ресторатора
- Обновления INTEC: Конструктор — Еще более простое управление
- Как сделать профессиональный баннер для сайта за 5 минут без дизайнера на INTEC: Universe
![]() |
С уважением к вам и вашему бизнесу, Ярослав Голуб, руководитель интернет-агентства INTEC |
Хотите быть в курсе всех наших обновлений? Тогда подпишитесь на нас в соцсетях!
Форум
Подскажите, как правильно сделать редирект с одной страницы сайта на другую?
Сообщений: 1159 Баллов: 260 Регистрация: 24.01.2008
23.12.2010 12:03:48
Постоянный посетитель
Сообщений: 101 Баллов: 14 Регистрация: 28.09.2010
23.12.2010 12:25:15
Заглянувший
Сообщений: 16 Регистрация: 30.07.2009
23.12.2010 13:05:13
спасибо. этот способ я тоже пробовал, вставка этого php-скрипта не сохраняется в HTML-редакторе на странице /news/index.php?news=2054 с новостью.
Постоянный посетитель
Сообщений: 101 Баллов: 14 Регистрация: 28.09.2010
23.12.2010 18:34:27
Его надо вставлять в файл /news/index.php
И если надо перенаправление делать только для 2054 новости, то где то так
LocalRedirect(‘/doc/index.php?docs=2054’)
>
?>
Не могли бы вы по-подробнее расписать
Заглянувший
Сообщений: 16 Регистрация: 30.07.2009
24.12.2010 08:48:36
Артем, твой код работает у меня на локальном сервере (там только ; надо подставить)
но на сайте почему то не пашет.
Распишу задачу поподробнее, она состоит в следующем:
на сайт выложил свидетельство — это отдельный раздел сайта — располагается здесь /doc/index.php
затем завел новость в которой написал компания получила свидетельство — располагается здесь /news/index.php — и чтобы не дублировать информацию на сайте хотел сделать чтобы по нажатии на эту новость — автоматом переходило в свидетельство
Что происходит с твоим кодом:
Его я подставляю перед
$APPLICATION->IncludeComponent("bitrix:news", "news", array(
После нажатии на новость он подгружает страницу /news/index.php — но уже новости никакие не выводятся
Пробовал поставить просто редирект — без условия — происходит тоже самое
Чуть повыше перед самой компонентой — тоже пустая страница. а на локальном сервере все работает
((((
Постоянный посетитель
Сообщений: 101 Баллов: 14 Регистрация: 28.09.2010
24.12.2010 13:31:35
Возможно, не работает на сервере из-за неверно указанных настроек директорий. Или что то в этом духе
Заглянувший
Сообщений: 16 Регистрация: 30.07.2009
24.12.2010 13:40:22
хмм. спасибо.
Спрошу у тех.поддержки
Постоянный посетитель
Сообщений: 101 Баллов: 14 Регистрация: 28.09.2010
24.12.2010 15:40:10
Может стоит в логах вебсервера глянуть, что ему не нравится? Может там лишний
Заглянувший
Сообщений: 10 Регистрация: 10.02.2019
23.04.2019 05:00:02
А через Настройка правил обработки адресов можно такое реализовать как-то нормально?
Работаю в компании ООО «СММ ФАСТ», как директор по продукту и развитию экосистемы Tegro.
Страницы: 1
Центр поддержки
Продукты
Управление сайтом
Битрикс24
Интернет-магазин + CRM
Решения
Для интернет-магазинов
Каталог готовых решений
Внедрение
Выбрать партнера
Проверить партнера
Стать партнером
1С-Битрикс http://www.1c-bitrix.ru Общие вопросы info@1c-bitrix.ru Приобретение и лицензирование продуктов : sales@1c-bitrix.ru Маркетинг/мероприятия/PR marketing@1c-bitrix.ru Партнерская программа partners@1c-bitrix.ru Мы работаем с 10:00 до 19:00 по московскому времени. Офис в Москве 127287 Россия Московская область Москва 2-я Хуторская улица дом 38А строение 9 Офис в Калининграде +7 (4012) 51-05-64 Офис в Калининграде 236001 Россия Калининградская область Калининград Московский проспект 261 Офис в Киеве ukraine@1c-bitrix.ru Телефон в Киеве +3 (8044)221-55-33 Офис в Киеве 01033 Украина Калининградская область Киев улица Шота Руставели 39/41 офис 1507

© 2001-2024 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом. Политика конфиденциальности
