Не далее — как вчера, был у меня прелюбопытнейший опыт, почти что сексуальных отношений с моим виртуальным хостингом. Пытался я настроить 301 редирект со всех страниц своего сайта, который находился до этого на поддомене, на новый домен. Однако — всё по порядку.

Т.к. в реальной жизни я зарабатываю себе на хлеб насущный евроремонтами и внутренней отделкой помещений — то есть у меня сайт на эту тематику, где я выкладываю результаты и фотографии своих трудов, с некоторым описанием процесса. Сайт этот висел на поддомене к моему основному домену direct-market.ru, и был доступен по адресу evroremont.direct-market.ru. По этому же адресу сайт был проиндексирован поисковыми системами, и многие его страницы уже находились в ТОПе Яндекса и Гугла по некоторым поисковым запросам.

И вот, как то решил я перевести адрес сайта на нормальное доменное имя второго уровня, для этого прикупил домен (ev-ro-rem.ru) в зоне .ru всего лишь за 99 рублей. Теперь ставилась задача аккуратненько этот домен подцепить к моему виртуальному хостингу — т.е. привязать к IP сервера, на котором висит мой основной домен (direct-market.ru), а в последствии — перенаправить URLы всех страниц со старого адреса (поддомена) на новый домен. Кто не в курсе — нужно это для того, что бы: а) — сайт оставался доступен по старым ссылкам из поисковиков на новом домене, что бы не выпасть из индекса, и б) — что бы поисковики склеили старые ссылки с новыми, тем самым, передав авторитет (вес) страниц по новым адресам.

С первой задачей я справился успешно, а вот со второй пришлось повозиться. Новый домен я решил не делегировать полностью на DNS своего хостера, а создал две NS-записи в разделе управления DNS-зоной у регистратора. Первая NS-запись типа А — на IP сервера своего хостинга, вторая — CNAME — для доступа к сайту по адресу с www. т.е. — www.ev-ro-rem.ru на тот же IP, что и основной домен.

Теперь оставалось настроить только редиректы. Вот тут то и началась чехарда, обернувшаяся тремя днями нервной переписки с тех.поддержкой хостинга, копаниями в мануалах по .htaccess и кучей экспериментов. После того, как мой новый домен был направлен на IP хостера, его требовалось привязать к каталогу, в котором располагался мой сайт. Каталог сайта носил короткое имя evro, и как уже говорилось ранее — сайт висел на поддомене evroremont.direct-market.ru. Но после настройки редиректов в панели управления хостинга, почему то ничего не работало, кроме перенаправления с основного поддомена на новый домен, без URI.

Не буду описывать долгий процесс переписки с техподдержкой, разговаривающей со мной, как с тупым дауном, и даже не удосужевшейся проверить файл .htaccess, сразу перейду к делу. Когда я начал копаться в NS-записях в редакторе DNS — я обнаружил интересную картину: оказывается, на каталог evro на хостинге вело ДВА поддомена: evroremont.direct-market.ru и evro.direct-market.ru. Причём — сайт был доступен с обеих адресов! Откуда взялся второй поддомен? А он был создан автоматически, при подключении нового домена ev-ro-rem.ru к каталогу evro, итого: при создании нового сайта на хостинге, и подключении на него нового домена, новый поддомен создаётся автоматически! При попытке удалить второй поддомен, хостинг-панель грязно ругалась, отказываясь это сделать, ссылаясь на то, что поддомен связан с доменом ev-ro-rem.ru, и предлагая сначала убить его.

В общем говоря, после долгих мытарств, я снёс ВСЕ поддомены, обращающиеся к каталогу evro, и новый домен вместе с ними. Потом переименовал каталог в evroremont, и заново подключил к нему домен, при этом опять же — создался заново поддомен evroremont.direct-market.ru, а в редакторе DNS-зон образовались две NS-записи типа А, evroremont.direct-market.ru и www.evroremont.direct-market.ru, направленные на IP сервера хостинга.

Ага, думаю я, сейчас то наконец заработает!!! И прописываю в хостинг-панели редирект с evroremont.direct-market.ru на ev-ro-rem.ru, указав перенаправление с шаблоном.

И не тут то было!!!!

Результат — тот же самый, что и раньше!!! Ну ладно, думаю я, сейчас поковыряем .htaccess, именно этот файл отвечает за перенаправления внутри каталога. А так как я не знаток синтаксиса — то пришлось искать аналогичные примеры в интернете, и сверять синтаксис команд. И что вы думаете? Оказывается — эта тупая программная скотина — хостинг-панель, при создании нового редиректа, прописывала в .htaccess лишь ЧАСТЬ положенного кода, конкретно сам редирект, а положенные к нему директивы — НЕТ!

Вот что конкретно писала хостинг панель:

RewriteCond %{HTTP_HOST} ^evroremont\.direct\-market\.ru$ [OR]
RewriteCond %{HTTP_HOST} ^www\.evroremont\.direct\-market\.ru$
RewriteRule ^(.*)$ «http\:\/\/ev\-ro\-rem\.ru\/$1» [R=301,L]

 

А вот что она ДОЛЖНА БЫЛА ПРОПИСАТЬ:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^evroremont\.direct\-market\.ru$ [OR]
RewriteCond %{HTTP_HOST} ^www\.evroremont\.direct\-market\.ru$
RewriteRule ^(.*)$ «http\:\/\/ev\-ro\-rem\.ru\/$1» [R=301,L]

После исправления кода всё заработало как надо, 301 редирект стал перенаправлять переходы с поисковика на новый домен. Всё это время, пока я ковырялся и разбирался в коде, техподдержка жевала сопли, засунув язык в энное место. О чём я им, не без удовольствия, и сообщил. Мораль сей истории такова: не всегда приложения на виртуальном хостинге работают так, как надо. И чаще всего приходится всё делать самому, прописывая всё ручками. А из этого напрашивается ещё один вывод: без хотя бы основных технических знаний — в инфобизнесе делать попросту нечего!