Настройка услуги «Перенаправление домена. Перенаправление домена с www на не-www

05.05.2019

Услуга «Перенаправление домена» позволяет настроить правила и перенаправлять посетителя, обратившегося к доменному имени, на указанный вами интернет-адрес. Услуга поддерживает работу с любыми доменами. .

В этой статье мы расскажем о настройках для работы с услугой.

Настройка домена

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

В услугу «Перенаправление домена» уже включена поддержка DNS . Если услуга заказывается на тот же договор, что и домен, то при заказе настройки производятся автоматически.

Также вы можете самостоятельно указать DNS-серверы в зависимости от уровня домена, для которого заказана услуга перенаправления:

ns3-fwl2.сайт
ns4-fwl2.сайт
ns8-fwl2.сайт

ns3-fwl3.сайт
ns4-fwl3.сайт
ns8-fwl3.сайт

ns3-fwl4.сайт
ns4-fwl4.сайт
ns8-fwl4.сайт

ns3-fwl5.сайт
ns4-fwl5.сайт
ns8-fwl5.сайт

Записи в файл зоны

Если вы используете DNS-сервера, включенные в услугу «Перенаправление домена», то необходимые записи вносятся автоматически.

При использовании своих DNS-серверов нужно внести в файл зоны домена на первичном DNS-сервере (primary) записи A. В рамках одной услуги перенаправления для самого домена и любого из его поддоменов необходимо указывать один и тот же IP-адрес.

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

  • для домена второго уровня, вида web-forward.ru :

    web-forward.ru. A 109.70.27.4

  • для домена третьего уровня, вида test.web-forward.ru :

    test.web-forward.ru. A 109.70.27.5

  • для домена четвертого уровня, вида forum.eng.web-forward.ru :

    forum.eng.web-forward.ru. A 109.70.27.6

  • для домена пятого уровня, вида www.forum.eng.web-forward.ru :

    www.forum.eng.web-forward.ru. A 109.70.27.7

Настройка услуги «Перенаправление домена»

Перенаправление можно включить для домена, всех его поддоменов, а также настроить до десяти индивидуальных правил перенаправления для конкретных поддоменов.

Внести изменения в настройки услуги вы можете в Разделе для клиентов Услуги Просмотр и изменение данных .

Для каждого правила перенаправления можно указать следующие параметры:

1. Имя поддомена, для которого настраивается правило

Необходимо указать поддомен , с которого будет осуществлено перенаправление. Можно указывать:

  • имя поддомена, для которого требуется настроить перенаправление. Допускается неограниченное количество уровней вложенности, но при этом длина записи, включая точки, не должна превышать 63 символа;
  • «*» (звездочку), если необходимо задать общее правило перенаправления. Такое правило будет действовать для любых поддоменов, для которых не настроены индивидуальные правила.

2. Адрес перенаправления

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

3. Способ перенаправления

Вы можете выбрать один из следующих способов перенаправления:

  • Временное или постоянное перенаправление

Временное перенаправление (код HTTP ответа «302 Moved Temporarily»). Код ответа HTTP 302 сообщает клиентским приложениям (в том числе поисковым системам), что сайт перемещен временно. Устанавливается по умолчанию.

Постоянное перенаправление (код HTTP ответа «301 Moved Permanently»). Код ответа HTTP 301 говорит клиентским приложениям (в том числе поисковым системам), что сайт перемещен навсегда.

В обоих случаях посетитель автоматически переходит на URL той страницы, на которую было осуществлено перенаправление. Выбор способа перенаправления (301, 302) на практике имеет значение только для поисковых систем.

  • Маскировка адреса во фрейме

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

Если вы выбрали маскировку адреса во фрейме, то следует учитывать, что:

  • при установке ссылок внутри вашей веб-страницы на другие ресурсы, в теге ссылки необходимо указать target=_top . В противном случае чужая веб-страница также будет открыта внутри вашего фрейма, и посетитель будет видеть в окошке URL ваше доменное имя. Пример правильного написания ссылки для этого случая: RU-CENTER
  • истинный адрес веб-страницы, на которую осуществляется перенаправление, хотя и не отображается в строке URL, может быть легко вычислен любым посетителем.

4. Опция «С сохранением пути» .

При попытке обратиться к странице, размещенной на домене, для которого составляется правило, перенаправление произойдет на адрес перенаправления, к которому будет добавлен путь до этой страницы..web-forward.ru, то при обращении к странице dns.web-forward..

И снова здравствуйте! Совсем скоро я поделюсь со своими читателями одним очень интересным наблюдением и его практическим применением, но перед этим просто необходимо разобрать понятие 301 редиректа. Чем сегодня и займусь.

Не открою секрета, если скажу что при открытии страницы идет обращение к серверу, который в свою очередь дает ответ в виде заголовков с использованием HTTP-статусов.

Одним из таких статусов может быть перенаправление запроса — заголовок содержит статус с ошибкой 3хх. Здесь есть несколько вариантов, например, временное перенаправление (307), ресурс временно перемещен (302), ресурс перемещен окончательно (301) и другие.

Определение 301 редиректа

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

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

Редирект 301 чаще всего используется вебмастерами, как наиболее дружелюбный в плане поисковой оптимизации. Например, я рассказывал о — здесь тоже используется 301 ответ сервера. У WordPress есть встроенная функция перенаправления, определяемая основной адрес ресурса:

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

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

Если используется любая другая платформа, или было принято решение изменить основной домен (например, убрать из адреса префикс www), то можно использовать код для редиректа через файл.htaccess, который располагается в корневой директории:

1 2 3 RewriteEngine On RewriteCond % { HTTP_HOST} ^www. webliberty. ru [ NC] RewriteRule ^(.* ) $ https: //сайт/$1

RewriteEngine On RewriteCond %{HTTP_HOST} ^www.сайт RewriteRule ^(.*)$ https://сайт/$1

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

Кроме использования файла.htaccess для перенаправления можно использовать и другие методы, например, с использованием , PHP или HTML мета-тегов. Кому интересно, предлагаю почитать какое применение можно найти для редиректа с использованием мета-тегов, пример приведен мною в комментариях к .

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

Но здесь подойдут не все методы, а только те, которые обрабатывают запрос на стороне сервера (.htaccess, PHP), мета-теги на HTML в этом случае не помогут, т.к. выполняют перенаправление уже после обработки запроса и загрузки страницы.

Определение HTTP статуса заголовка страницы

Я иногда проверяю какой заголовок отдает сервер для страницы. Раньше я проверял ответ сервера с помощью онлайн-сервисов, например, когда разбирался с в теме, то проверял на cy-pr.com. А теперь для определения статусов можно воспользоваться удобным плагином для браузера Google Chrome, который так и называется — HTTP Headers, который можно бесплатно установить в интернет-магазине Chrome Webstore .

После установки этого расширения на панели инструментов появится значок с логотипом «H», на скрине ниже второй справа. Щелкая на него в окошке будет отражен заголовок текущей открытой страницы, который отдает сервер, содержащий HTTP статус:

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

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

На сегодня все, но впереди Вас ждет еще много всего интересного, поэтому подписывайтесь на обновления блога по RSS или получайте свежие записи прямо на почту! А в следующей статье открою небольшой секрет и приведу еще один пример использования 301 редиректа на WordPress. Не забудьте подписаться, чтобы не пропустить 😉

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

Готовы? Тогда мы начинаем (барабанная дробь…). Сбегайте на кухню и сделайте для себя вкусную чашечку кофе или латтэ 🙂

Что такое редирект в WordPress?

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

Существует несколько типов переадресации: 301 redirect, 302 redirect, 307 redirect и т.д.

Однако я обещал, что буду предельно краток и понятен, поэтому не буду вдаваться во все нюансы и расскажу лишь о 301 редиректе, т.к. именно он является самым важным и необходимым.

В каких случаях необходим 301 редирект WordPress?

В основном 301 редирект используется тогда, когда ваш сайт или страничка переехали на другой адрес (как в пределах одного домена, так и на другой), и вы хотите автоматически перенаправлять пользователей на актуальный адрес.

Кстати, к написанию данной статьи меня вдохновил вопрос одного из моих подписчиков: он интересовался, как перенаправить пользователей со старого поста на новый.

Итак, 301 редирект нужен:

  • когда вы планируете удалить старый пост или страницу и разместить новый контент;
  • когда вы планируете изменить вечные ссылки своего поста или страницы.

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

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

Надеюсь, теперь вам понятна важность 301 редиректа, так что давайте перейдем к следующему вопросу: ка создать переадресацию в вордпрессе. Сделать это можно несколькими способами.

Как создать редирект в WordPress (используя плагины)

Самый простой способ – это использовать специальные плагины для переадресации, которых, хочу заметить, у WordPress предостаточно. Данный способ удобен тем, что вам не нужно будет писать ни единой строчки кода.

  1. Перенаправление (Redirections )

Легче всего добавлять и управлять переадресациями в водпрессе с помощью плагина «Redirection ». Для этого его надо установить и активировать. Как только вы это сделаете, зайдите в Инструменты Redirection и произведите необходимые настройки переадресаций.

Для этого нужно всего лишь заполнить строки, показав новое расположение урла.

  1. Page Links to

После его установки под областью редактирования записи появится мета-блок, куда можно прописать адрес, на который вы хотите перенаправить пользователей.

  1. Simple 301 Redirects

Еще одним полезным, а главное понятным даже новичку плагином является «Simple 301 Redirects ». Само его название уже говорит, что он предельно прост и не надо бояться его использовать. Просто установите и активируйте плагин, затем зайдите в Настройки → 301 Redirects и добавьте необходимые урлы.

Несмотря на легкость установки 301 редиректа с помощью плагинов WordPress, здесь есть небольшая задержка в производительности: задействуя мощности хостинга, редирект через плагины в общем срабатывает медленнее (на несколько микросекунд), чем другие способы редиректа.

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

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

Htaccess – это служебный файл конфигурации с помощью которого можно настроить быстрый 301 редирект.

Однако помните, что даже небольшая ошибка в коде.htaccess может привести к тому, что сайт будет не просматриваться, и пользователям будет отображаться внутренняя ошибка сервера.

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

Чтобы изменить файл.htaccess необходимо зайти на сайт через FTP-клиент. Файл должен находиться в корневой папке WP, если его там не будет, то попробуйте просмотреть скрытые файлы, т.к. htaccess может быть присвоен скрытый атрибут

Файл.htaccess можно редактировать в любом текстовом редакторе, например в Блокноте.

Вот простой пример редиректа, который перенаправляет пользователей со старой записи на новую.

Говорить о важности настройки редиректов уже не приходится. Об этом много сказано, в т.ч. и на страницах моего блога. Давайте же разберемся в том, как правильно настраивать редиректы 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 редирект обычно прописывается в следующих случаях:

  1. при склеивании зеркал сайта с www и без www;
  2. при переезде сайта на новый домен;
  3. при переносе сайта на новую CMS;
  4. при изменении URL-адресов страниц;
  5. при устранении дублей страниц сайта.

Как ни странно, последний случай рассматривают крайне редко, хотя при устранении дублей 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. Если редирект не срабатывает, попробуйте перенести его код чуть выше по файлу. На этом у меня все. Успехов в оптимизации сайтов!