Как настроить редирект на страницу. Альтернативные способы настройки переадресации. Перенаправление с помощью php

Говорить о важности настройки редиректов уже не приходится. Об этом много сказано, в т.ч. и на страницах моего блога. Давайте же разберемся в том, как правильно настраивать редиректы 301 и 302 на сайте, чтобы давать поисковым роботам понять, что те или иные ссылки перемещены.

Для тех кто еще не совсем разбирается в редиректах, давайте определим, что же такое 301 и 302 редирект, о которых было упоминание в одном из прошлых постов.

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

302 редирект сообщает о том, что страница по ссылке временно перемещена. Актуально использовать в случаях, когда необходимо временно заблокировать переходы по ссылкам, например, на время редизайна или переделки части сайта. Важно! Если на вашем сайте применялись 302 редиректы, то не забывайте их менять после снятия причин установки либо заменять на 301 в случае, если страницы перемещены на всегда. Все дело в том, что 302 редирект не передает вес ссылок на старую страницу и не приводит к ее индексации, что делает невозможным ее продвижение, а значит ваш заработок на сайте может остаться всего лишь планом на будущее.

Для того, чтобы выяснить какой тип редиректа установлен, необходимо проверить статус-код ответа сервера, отдаваемый страницей с которой идет перенаправление. Для продвижения лучше всего полностью избавиться от наличия 302 редиректа на сайте, а при необходимости использовать закрытие ссылки ошибкой 404. Если же редирект все-таки нужен для перенаправления пользователя со старой страницы на новую, то необходимо использовать 301 редирект.

Способы настройки 301 редиректа

Для настройки 301 редиректа необходимо в файле.htaccess на вашем сайте с применением директив модуля Apache mod_rewrite установить соответствующие перенаправления. Рассмотрим простейший пример перемещения со страниц сайта с www на без www.

RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.site\.ru$ RewriteRule ^(.*)$ http://site.ru/$1

Вместо site.ru необходимо указать ваш сайт, остальное оставив без изменений. В случае, если необходимо сделать обратный редирект, т.е. с сайта без www на с www, то выглядеть будет так:

RewriteEngine On RewriteCond %{HTTP_HOST} !^site\.ru$ RewriteRule ^(.*)$ http://site.ru/$1

Если возникла необходимость редиректа с какой-то определенной страницы на новую, то редирект может иметь следующий вид:

RewriteEngine On RewriteCond %{HTTP_HOST} ^site.ru$ Redirect 301 /old.html http://www.site.ru/new.html

При необходимости редиректа со старого домена на новый:

RewriteEngine on RewriteRule (.*) http://www.newsite.ru/$1 :

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

Что не стоит делать с редиректами?

Помимо описанного метода редиректов через.htaccess существует ряд вариантов, применение которых с точки зрения SEO не является оправданным, т.к. поисковые системы не всегда воспринимают такие редиректы корректно и правильно. Часто это может закончиться баном, т.к. при обилии редиректов на страницах сайта он может быть приравнен к дорвею и исключен из поиска. Следует избегать редиректа, осуществляемого через тэг в коде страницы, заменяя на соответсвующие 301 редиректы. По той же причине желательно избегать редиректов выполненных на java-script.

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

301 редирект обычно прописывается в следующих случаях:

  • при склеивании зеркал сайта с www и без www;
  • при переезде сайта на новый домен;
  • при переносе сайта на новую CMS;
  • при изменении URL-адресов страниц;
  • при устранении дублей страниц сайта.
  • Как ни странно, последний случай рассматривают крайне редко, хотя при устранении дублей 301 редирект помогает как никто другой, если, конечно, у вас нет желания ковырять код самой CMS. А если вы занимаетесь поисковой оптимизацией сайтов, то вопрос наличия или отсутствия дублей у страниц сайта обязательно должен вас волновать.

    301 редирект замечателен тем, что он передает pr-страниц и сайта, а соответственно и ссылочный вес новому URL. Но зато он не передает наложенные на старый домен санкции со стороны поисковых систем, что вдвойне приятно.

    Итак, с тем, что такое 301 редирект, разобрались. Перейдем непосредственно к тому, как его сделать.

    Как настроить 301 редирект

    Для начала я приведу список операторов регулярных выражений , которые пригодятся вам при настраивании 301 редиректов.

    • ^ — ограничение слева;
    • $ — ограничение справа;
    • * — 0 и более символов;
    • + — 1 и более символов;
    • . — любой символ;
    • \ — экранирование;
    • () — переменная;
    • — диапазон значений.

    Существуют различные способы того, как сделать 301 редирект. Лично я, как и многие другие вебмастера, настраиваю его через файл.htaccess. Данный файл есть практически у каждой популярной CMS, и находится он в корне вашего сайта. Скачать.htaccess можно через при помощи клиента FileZila:

    Файл.htaccess следует открыть текстовым редактором, к примеру, Notepad++. Поверх всех кодов редиректов вам следует прописать следующую строку:

    RewriteEngine On

    В противном случае редиректы работать не будут.

    Многие ошибочно полагают, что можно обойтись и без 301 редиректа. Я могу вам сказать, что он необходим при оптимизации практически каждого сайта. К примеру, абсолютно каждый сайт изначально доступен по двум адресам — с www и без www. Беда в том, что это приводит к размыванию ссылочной массы. Объясню почему. Другим сайтам абсолютно все равно, какой из двух вариантов написания вашего домена является основным. Если они будут ставить на вас ссылки, то в адресе могут прописывать как вариант с www, так и без www. Ссылочная масса в итоге будет размыта, а поисковики в любом случае будут индексировать только один вариант. Когда-то так они вообще воспринимали их как совершенно разные сайты.

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

    С www на без www:

    RewriteCond %{HTTP_HOST} ^www.site.ru$ RewriteRule (.*) http://site.ru/$1

    С без www на www:

    RewriteCond %{HTTP_HOST} ^site.ru$ RewriteRule (.*) http://www.site.ru/$1

    Если приведенные выше коды редиректа не сработают, то воспользуйтесь следующей записью для редиректа с www на без www:

    RewriteCond %{HTTP_HOST} ^www\.(.*)$ RewriteRule ^(.*)$ http://%1/$1

    Помните, что вместо site.ru нужно прописывать домен вашего сайта. После проделанных действий сохраните файл.htaccess и закачайте его на сервер, заменив им старый файл.

    301 редирект очень часто выручает меня, когда я борюсь с дублями страниц сайта. А это я делаю практически каждый раз, когда выполняю внутреннюю оптимизацию очередного сайта. Лично я еще не встречал CMS, которая бы не генерировала дубли. Хотя если речь идет о небольшом сайте, то бывают исключения. Понятия не имеете, о чем я сейчас говорю? Тогда подписывайтесь на , вскоре я напишу о дублях целую статью.

    Бывает такое, что страница сайта доступна сразу по двум URL-адресам вида: http://site.ru/category/page.html и http://site.ru/page.html. В данном случае идет речь о дублях. К примеру, мы хотим, чтобы страница была доступна только по адресу второго вида. В таком случае для избавления от дубля необходимо прописать следующий редирект:

    RewriteRule ^(.*)category/page.html$ http://site.ru/page.html

    Теперь представьте ситуацию, что вы изменили адрес страницы сайта. Для чего? Да, могут быть самые разные причины. Я, к примеру, совсем недавно это делал с целью укорачивания длины URL. Для этого вам понадобится следующий редирект:

    RewriteRule ^(.*)old-page.html$ http://site.ru/new-page.html

    Если приведенный выше код редиректа не сработает, попробуйте следующий:

    RewriteRule ^old-page.html$ http://site.ru/new-page.html

    Или такой:

    RewriteRule ^old-page.html$ /new-page.html

    Если требуется сделать редирект со старого URL-адреса на кириллице на новый URL-адрес (хоть на кириллице, хоть на латинице), то запись будет иметь вид:

    RewriteRule ^старый-урл.html /new-page.html

    Как вы понимаете, выше мы рассматривали редиректы с одного URL на другой в пределах одного сайта . Для этого мы использовали mod_rewrite и директиву RewriteRule. Но можно обойтись и более простым вариантом записи редиректа при помощи директивы Redirect:

    Redirect 301 /old-page.html http://site.ru/new-page.html

    Оба варианта записи редиректа корректны и передают ссылочный вес и другие показатели. Они отличаются лишь тем, что используют директивы разных модулей, и поэтому имеют различный синтаксис. При использовании директивы Redirect сначала прописывается старый адрес страницы без http://site.ru, а затем новый адрес полностью.

    301 редирект может вам понадобиться при переезде сайта со старого домена на новый :

    RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.old-domen\.ru$ RewriteRule ^(.*)$ http://new-domen.ru/$1 RewriteCond %{HTTP_HOST} ^old-domen\.ru$ RewriteRule ^(.*)$ http://new-domen.ru/$1

    Аналогичный редирект с использованием директивы Redirect:

    Redirect 301 / http://new-domen.ru

    Можно прописать 301 редирект URL с параметром на любую другую страницу сайта , к примеру, главную:

    RewriteCond %{QUERY_STRING} ^cPath=373_703 RewriteRule ^index\.php$ http://site.ru/?

    Приведенный выше пример из моей практики, когда я проводил внутреннюю оптимизацию сайта на Joomla, у которого было огромное количество различных дублей.

    Редирект с site.ru/index.php на site.ru (избавляемся от дубля главной страницы):

    RewriteCond %{THE_REQUEST} ^{3,9}\ /index\.php\ HTTP/ RewriteRule ^index\.php$ http://site.ru/

    В результате наличия у главной страницы сайта дубля вида site.ru/index.php аналогичные дубли могут появляться и у внутренних страниц сайта, к примеру, site.ru/index.php/page.html является дублем страницы site.ru/page.html. В данном случае все дубли такого вида разом можно устранить при помощи редиректа:

    RewriteRule ^index\.php/(.*)$ /$1

    Если у главной страницы вашего сайта есть дубль вида site.ru/main.html , то следует прописать следующий редирект:

    RewriteEngine On RewriteCond %{THE_REQUEST} ^{3,9}\ /main\.html\ HTTP/ RewriteRule ^main\.html$ http://vash-sait.ru/

    или же такой вариант:

    Redirect 301 /main.html http://site.ru/

    Теперь представим ситуацию, что вы хотите, чтобы все внутренние страницы сайта были доступны только по адресу с.html на конце . Тогда следует прописать следующий редирект:

    RewriteCond %{REQUEST_URI} (.*/[^/.]+)($|\?) RewriteRule .* %1.html RewriteRule ^(.*)/$ /$1.html

    Если же наоборот вы хотите, чтобы все внутренние страницы сайта имели адрес без.html на конце , то есть адрес вида site.ru/page, то следует прописать редирект:

    RewriteCond %{REQUEST_URI} \.html$ RewriteRule ^(.*)\.html$ /$1

    Если стоит задача редиректа с URL-адресов с.htm на конце на адреса с.html на конце , то в.htaccess следует добавить следующую запись:

    RewriteBase / RewriteRule ^(.*)\.htm$ $1.html

    Возможно, вам потребуется сделать редиректы с URL-адресов без суффиксов на адреса со слэшем на конце . Тогда в файле.htaccess следует прописать следующее:

    RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !\..+$ RewriteCond %{REQUEST_URI} !/$ RewriteRule (.*) http://www.site.ru/$1/

    Если задача полностью противоположная, и требуются редиректы с URL-адресов со слэшем на конце на адреса без суффикса , то добавьте следующий код:

    RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} ^(.+)/$ RewriteRule ^(.+)/$ /$1

    Чтобы прописать редирект с URL-адреса с параметром вида http://site.ru/?page_id=111, добавьте в.htaccess следующее:

    RewriteCond %{QUERY_STRING} page_id=111 RewriteRule ^ http://site.ru/new-page/

    Также совсем недавно столкнулся с сайтом, для которого был получен сертификат о его безопасности, и было необходимо прописать редирект с http на https :

    RewriteCond %{HTTPS} off RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI}

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

    Как проверить 301 редирект

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

    Чтобы окончательно убедиться в том, что 301 редирект настроен верно, рекомендую также проверить ответ сервера при помощи специальных сервисов, к примеру, 2ip.ru , а еще лучше воспользуйтесь программой Netpeak Spider, при помощи которой можно узнать еще и много другой информации о сайте. Ответ сервера должен быть «301 » или же «301 MovedPermanently -> 200 OK».

    Надеюсь, теперь Вы поняли, как правильно настраивать 301 редирект. Выше я привел достаточное количество различных примеров. Если не сработает один тип записи редиректа, скорее всего сработает другой. Пробуйте. От чего зависит, какая именно запись редиректа сработает, точно сказать не могу, так как не являюсь программистом. Возможно, от CMS или настроек сервера. Также иногда влияет расположение кода редиректа в файле.htaccess. Если редирект не срабатывает, попробуйте перенести его код чуть выше по файлу. На этом у меня все. Успехов в оптимизации сайтов!

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

    Что такое 301 редирект и зачем он нужен?

    301 редирект призван помочь вебмастерам переадресовать пользователей с одного URL, который изначально был в адресной строке браузера, на совершенно иной. С точки зрения поисковой оптимизации, 301 Moved Permanently - это постоянный редирект, который помогает переместить до 99% ссылочного веса на новый URL, а старый «пометить» в качестве устаревшего. То есть благодаря этому удастся сохранить позиции в поисковых системах, а если просто изменить адрес URL, не делаля редирект, то для Яндекса и Гугла это будет новой страницей, которая будет ранжироваться без связки с предыдущей историей.

    Есть несколько вариантов, когда нужно воспользоваться этим редиректом:

    • при совершении склейки доменов;
    • для переезда сайта на новый адрес, например, в случае снижения трафика вследствие попадания вашего ресурса под фильтры поисковиков. 301 редирект не позволит тем, кто добавил ваш сайт в закладки, потерять его из виду;
    • чтобы увеличить показатели тИЦ, PR, трафик из ПС на основном сайте. В этом случае понадобится приобрести домен, который обладает неплохими показателями и настроить редирект на тот ресурс, который нуждается в улучшении данных параметров;
    • при смене адреса конкретной страницы для сохранения высоких позиций в ПС (например, это может быть актуально при переезде сайта из одной CMS в другую);
    • и др.
    Как сделать 301 редирект?

    Вариантов решения задачи по настройке 301 редиректа есть несколько. Каким из них воспользоваться - зависит от технических возможностей хостинга . Но у современных хостеров подобных проблем обычно не возникает, а если и появляются, то решается быстро через тех поддрежку. Вот парочка основных ситуаций простого редиректа, с которыми вы можете столкнуться. Для этого понадобиться создать файл с именем.htaccess (если его нет), а затем внести в него нужный код редиректа. Если создать его просто на рабочем столе не получается, то попробуйте сделать это через программу Total Commander, либо FileZilla просто переименовав любой ненужный документ.

    Итак, вам нужно перенаправить пользователей на другой сайт. Это будет выглядеть следующим образом:

    Redirect 301 / http://site.ru

    А если нужно организовать перенаправление со страницы на страницу сайта, то понадобится вот такой код:

    Redirect 301 /старая-страница.html http://новый-домен.ru/новая-страница.html

    RedirectPermanent /старая-страница. html http://новый-домен.ru/новая-страница.html

    Как склеить домен с www с вариантом без?

    В данный момент применение www в названии сайтов считается устаревшим. Однако, такой вариант встречается нередко. Если это не покупка готового сайта , то при создании нового ресурса лучше указывать везде без www. При склеивании доменов объединяются все их самые важные параметры, такие как тИЦ, PR и посещалка. К тому же это поможет оптимизировать ресурс, и избежать ситуации, когда ПС отражение сайта с www принимают за «самозванца» с «ворованным» контентом.

    Код для склеивания домена с использованием www на домен без www выглядит так:

    RewriteEngine on RewriteCond %{HTTP_HOST} ^www.site.ru$ RewriteRule ^(.*)$ http://site.ru/$1

    При этом значение RewriteEngine on/off является специализированной директивой, служащей для подключения либо прекращения доступа к коду самого файла. А доступ происходит посредством модуля mod_rewrite. RewriteCond - директива, используемая для формирования условий по правилам преобразования. А RewriteRule - предписание, отвечающее за производимые преобразования, в конкретной ситуации - редирект 301.

    301 редирект при переезде на HTTPS

    Современный тренд - перенос сайтов на защищенный протокол HTTPS. При этом настройка переадресации со страниц с HTTP на HTTPS является ключевым этапом. Делается это следующим образом в файле .htaccess.

    RewriteCond %{SERVER_PORT} !^443$ RewriteRule ^(.*)$ https://site.ru/$1

    Примечания и ошибки

    С чем можно столкнуться, и о каких деталях не стоит забывать при настройке 301 редиректа:

    • строгий учет последовательности правил редиректа - это первое, о чем следует помнить. Поэтому в случае не выполнения определенного правила, стоит перепроверить - нет ли иных редиректов, противоречащих ему;
    • 301 редирект имеет множество особенностей и непростой синтаксис, все это сложно постоянно держать в голове, - так что официальные мануалы вам в помощь. Кроме них, помочь может логика и последовательный перебор нескольких вариантов;
    • проверка работоспособности сайта и всех внедренных правил редиректа - это обязательное условие благополучного завершения его настройки. Не поленитесь зайти в разделы и страницы ресурса, не только на главную страницу, дабы исключить любые проблемы в дальнейшем. При допущении ошибок в синтаксисе инструкций вполне может перестать работать и весь сайт.

    Также существует несколько ситуаций, когда использование 301 редиректа будет ошибочным. Так, лучше не применять многоходовый редирект, если его внедрение займет слишком продолжительное время. Или, например, при наличии контента, который дублируется, и по ряду причин нужно сохранить обе страницы для пользователей. Если страница и ее содержимое не релевантны, то от редиректа тоже стоит отказаться. Ошибкой будет настройка редиректа на некорректно работающую страницу (страница должна быть с 200 или 404 ответом сервера). И, наконец, неверным будет редирект файла robots.txt .

    Другие виды редиректов

    Опытные вебмастеры помимо самого популярного 301 редиректа используют и некоторые другие: от 300-го по 307-й. К примеру, 302 и 307 - это временный редирект, 305 - доступ исключительно посредством прокси и т. д. Также довольно востребованным типом редиректов можно назвать Meta Refresh. Он выполняется не на уровне сервера, а на уровне страницы. Однако, такой редирект эксперты рекомендуют применять как можно реже. Это обосновано тем, что к ним зачастую прибегают дорвейщики и спамеры. К тому же применение этого редиректа практически не дает возможности для передачи ссылочного веса.

    С 301-ым редиректом (переадресацией) вы обязательно столкнетесь при склейке зеркал сайта с префиксом WWW и без него, в случае переезда сайта на новый домен, с HTTP на HTTPS, переноса страницы в другой раздел сайта и изменения ее адреса. Во всех этих случаях важно сохранить позиции и трафик, перенаправляя его на новые страницы. Как это сделать? Предлагаем техническую инструкцию.

    Код состояния HTTP 301 (Moved Permanently или 301 редирект) - это стандартный код ответа сервера , который сообщает, что запрашиваемый ресурс перемещен и получил новый URL.

    Для SEO 301 редирект важен, поскольку он позволяет исключить из поисковой выдачи старый URL и заменить его новым без потери страницей веса и, соответственно, ухудшения ее позиций.

    Настроить 301-й редирект можно разными способамипомощью HTML, PHP, плагинов для CMS, скриптов), но самый надежный и простой вариант - с помощью.htaccess (для Apache) или web.config (для IIS).

    Настройка 301 редиректа в.htaccess

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

    Если в корневой папке вашего сайта нет файла.htaccess, его нужно создать и загрузить с помощью FTP-клиента. Теперь можно приступать к настройке.

    Когда вам требуется сделать редирект с текущего домена на другой (например, при переезде сайта), можно использовать директивы модуля mod_alias. Пропишите в.htaccess следующую директиву (вместо newsite.ru укажите ваш новый домен):

    Redirect permanent / http://newsite.ru/

    Redirect 301 / http://newsite.ru/

    Приведем еще примеры настройки переадресации 301.

    Редирект со страницы page1.html на страницу page2.html :

    Redirect 301 /page1.html site.ru/page2.html

    Редирект с главной страницы сайта на страницу каталога /cat :

    Redirect 301 / site.ru/cat

    Редирект с каталога /cat на главную :

    Redirect 301 /cat site.ru

    Редирект часто используют для склеивания зеркал. В этом случае применяется модуль mod_rewrite. Например, если вы хотите, чтобы шел редирект , то пропишите такие строки (где yoursite.ru - ваш домен):

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^www.yoursite.ru$
    RewriteRule ^(.*)$ http://yoursite.ru/$1

    И наоборот - редирект с домена без www на домен с www :

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^ yoursite.ru
    RewriteRule (.*) http://www.yoursite.ru/$1

    Редирект всех страниц сайта при переезде с http на https :

    RewriteEngine On
    RewriteCond %{SERVER_PORT} !^443$
    RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI}

    Если не сработает, можно попробовать такой вариант:

    RewriteEngine On
    RewriteCond %{HTTPS} =off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

    Также 301 редирект используется в борьбе с дублями страниц. Приведем несколько примеров.
    Для поисковых систем URL http://www.yoursite.ru/ и http://www.yoursite.ru являются разными. Поэтому надо решить, какой тип использовать: со слешем в конце или без него. Для того чтобы убрать слеш в конце URL , пропишите правило:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} (.*)
    RewriteCond %{REQUEST_URI} /$
    RewriteRule ^(.*)(/)$ $1

    Добавить слеш можно таким образом:

    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_URI} !(.*)/$
    RewriteRule ^(.*[^/])$ $1/

    Для того чтобы заменить все.htm файлы.html файлами , пропишите следующие строки:

    RewriteEngine on
    RewriteBase /
    RewriteRule ^(.*)\.htm$ $1.html

    Если вы прописываете несколько директив, то строка «RewriteEngine on » указывается один раз - с ее помощью включается модуль mod_rewrite .

    Если вы создаете файл.htaccess с нуля, то все команды указываются внутри таких строк:



    Например, так будет выглядеть файл.htaccess с двумя редиректами: с www на без www и со страниц без слеша на страницы со слешем в конце:

    Настройка редиректа в web.config

    Вариант редиректа с помощью.htaccess работает только для Apache. Для веб-сервера IIS настраивать переадресацию нужно в файле web.config . Например, редирект с одной страницы (yoursite.ru/page.html) на другую (yoursite.ru/page2.html) будет выглядеть так:








    301 редирект с домена с www на домен без www настроить можно таким образом:















    Альтернативные способы настройки переадресации

    Если по какой-то причине вы не можете создавать и редактировать web.config или.htaccess (например, в силу ограничений на хостинге) или вам нужна определенная обработка полученных данных, их модификация или проверка, по результатам которой реализуется перенаправление, вы можете настроить редирект с помощью PHP.

    Синтаксис следующий:

    В этом случае происходит принудительная передача кода HTTP-ответа 301, и пользователь перенаправляется на страницу http://newsite.ru/.

    Если у вас небольшой сайт с парой страниц, то редирект можно сделать с помощью HTML:

    Изменяя цифру 0 , вы задаете количество секунд до переадресации. В этом случае редирект реализуется не на стороне сервера, а на стороне клиента (не передается заголовок 301).

    Также редирект можно сделать с помощью JavaScript:


    window.location.replace("newsite.ru");

    В этом случае также не передается заголовок 301. И если у пользователя в браузере отключена поддержка JavaScript, то редирект не сработает.

    Вариантов редиректов бесчисленное множество. Упростить работу можно с помощью генераторов редиректов. Это онлайн-сервисы, которые выдают готовые коды, - вам нужно лишь указать, откуда и куда перенаправить пользователя. Вот некоторые из этих сервисов: www.webconfs.com , www.rapidtables.com , www.htaccessredirect.net .

    Как настроить редирект, если нет опыта веб-программирования?

    Настройка редиректа - сложная техническая задача, для выполнения которой не обойтись без профильных знаний. Если вы не владеете навыками разработки и программирования, и у вас под рукой нет штатного программиста, можно воспользоваться поддержкой хостинг-провайдеров. Многие из них предлагают услугу web-форвардинга (или «переадресация домена», «URL-форвардинг» и т. п.). Она позволяет настроить переадресацию с одного URL на другой. При этом используется 301 редирект.

    Другой вариант - настройка редиректов с помощью плагинов для популярных CMS. Так, для WordPress есть плагины Redirection, Safe Redirect Manager, Simple 301 Redirects, а в Joomla! и Wix есть встроенные инструменты редиректа.

    Не уверены, что сможете правильно настроить редиректы своими руками? Лучше не рисковать - в системы PromoPult за вас все сделают профессиональные вебмастера.

    Заключение

    Лучший способ настроить 301 редирект - с помощью.htaccess. Но он подходит только для веб-серверов Apache. Для IIS придется настраивать web.config. Если же нужно не просто сделать редирект, а учесть определенные условия, то используйте PHP, но в этом случае без помощи программиста не обойтись.

    Есть и другие способы (в частности, с помощью HTML и JavaScript), но это не 301 редирект, а просто перенаправление без передачи веса. Также можно использовать плагины для популярных CMS или подключить услугу web-форвардинга, если ее оказывает ваш хостинг-провайдер.

    Также стоит понимать, что не всегда есть смысл использовать 301-й редирект. В некоторых случаях лучше подойдет, например, атрибут rel=“canonical”.

    Какой бы вариант вы ни выбрали, главное, чтобы он правильно работал. Проверить корректность редиректов на вашем сайте (как и многие другие аспекты работоспособности сайта) можно посредством от PromoPult.