• Главная

Ваш сайт под АГС! Узнайте для чего надо делать редирект с домена на домен. Переадресация на другой хостинг


Переадресация с одного домена на другой (редиректоры)

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

  1. Ваш сайт открывается по адресу www.mycompany.ru и mycompany.ru. Вы хотите, чтобы при обращении к адресу сайта с www шла переадресация на ту же страницу на домене без www (http://www.mycompany.ru/news/ » http://mycompany.ru/news/)
  2. У вас есть основной домен mycompany.ru и альтернативный my-company.ru. Нужно сделать чтобы при наборе в браузере адреса my-company.ru посетитель автоматически переводился на основной домен mycompany.ru

Первая задача наиболее простым способом решается в разделе Сайты в панели управления. Слева от названия сайта необходимо кликнуть на иконку с тремя горизонтальными полосками и выбрать "Тонкие настройки". Далее активировать "Включить перенаправление". После этого остается выбрать на какой домен необходимо перенаправлять все запросы. Готово!

Показать как можно решить первую задачу при помощи mod_rewrite

Также первую задачу можно решить с помощью mod_rewrite. Чтобы настроить переадресацию с адресов, начинающихся с www на аналогичные без www (http://www.mycompany.ru/news/ » http://mycompany.ru/news/), нужно в файл .htaccess в корневой папке www вашего сайта прописать следующие строки:

RewriteEngine On RewriteCond %{HTTP_HOST} ^www\.mycompany\.ru$ [NC] RewriteRule ^(.*)$ http://mycompany.ru/$1 [R=301,L]

Если вам наоборот нужно чтобы адреса без www автоматически переадресовывались на те же адреса с www (http://mycompany.ru/news/ » http://www.mycompany.ru/news/), например как сделано на нашем сайте: http://netangels.ru/company/ автоматически переадресует вас на http://www.netangels.ru/company/, то правила mod_rewrite выглядят следующим образом:

RewriteEngine On RewriteCond %{HTTP_HOST} ^mycompany\.ru$ [NC] RewriteRule ^(.*)$ http://www.mycompany.ru/$1 [R=301,L]

Вторая задача может быть решена также при помощи правил mod_rewrite, но если вы размещаетесь на тарифном плане Лайт, Стандарт или Профи, то ограничены числом доменов, включенных в тариф. Поэтому настройка сайта с одним только файлом .htaccess лишит вас еще одного домена в квоте по тарифу, что не всегда приемлемо. В этом случае мы предлагаем воспользоваться сервисом Редиректоры.

Нужно удалить A-запись для домена my-company.ru из DNS и затем создать редиректор. При этом для домена my-company.ru будет автоматически создана новая A-запись, которая будет указывать на сервис редиректов.

Можно ли решить первую задачу тоже с помощью сервиса Редиректоры панели? Да, можно, но это приведет к тому, что вместо переадресации http://www.mycompany.ru/news/ » http://mycompany.ru/news/ вы получите переадресацию http://www.mycompany.ru/news/ » http://mycompany.ru/, то есть любой url на переадресуемом домене будет вести только на какую-то одну конкретную страницу домена назначения. Вряд ли это то, что вам нужно.

www.netangels.ru

переадресация на другой домен и перенаправление на другую страницу

Доброго воскресного дня!

Очень часто на форумах можно встретить вопросы, посвящённые .htaccess — файлу конфигурации веб-сервера Apache. Основной камень преткновения в том, что при разработке не стояла задача удобной конфигурации для конечного пользователя (в дистрибутив не включена оболочка для визуальных установок с помощью галочек, выпадющих списков и тому подобное), зато администраторы серверов справляются с этой задачей замечательно, довольствуясь «маном» (от команды Linux — man — краткое руководство от разработчиков, или в данном случае — от профессионалов для профессионалов).

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

Редирект .htaccess

Редирект .htaccess: постоянное перенаправление, 301

Подобная штука имеет разные названия. Непонятки может вызвать разве что число — почему же 301? Суть кроется в самом протоколе HTTP, который на запросы клиента отвечает определённым кодом состояния. Код 404 Not Found (Страница не найдена) известен почти всем. Код 200 OK почти не известен, но именно он означает, что всё в порядке и документ будет показан в браузере. А вот код 301 Moved Permanently означает, что документ окончательно перебрался на новый адрес. Именно его и называют чаще всего перенаправлением, хотя общий пул ответов обозначен как — 3xx: Redirection.

У Apache есть несколько возможностей для осуществления редиректов. Модуль mod_rewrite предоставляет отличный механизм работы с перенаправлениями, и в дальнейшем я буду использовать в примерах именно его. В модуле mod_alias тоже имеются директивы для редиректов с определённого адреса или с адреса, который соответствует регулярному выражению:Redirect permanent / http://newsite.ru/RedirectMatch permanent .* http://newsite.ru/ Но в mod_rewrite имеются дополнительные возможности для переадресации, поэтому лучше применять (IMHO) его.

В общем случае, для безусловного внешнего (назовём его пользовательским) редиректа, при котором браузер автоматически переадресовывается на другую страницу, обычно незаметно для пользователя (изменяется адресная строка), можно в .htaccess поместить такой код:RewriteEngine OnRewriteRule .* http://newsite.ru/ [L,R=permanent]Здесь, первая строка включает механизм модуля mod_rewrite, который позволяется вытворять с адресами всё, что угодно. Назовём это преобразованием URL по условиям на лету. Вторая строка определяет непосредственно правило для преобразования, в примере выше все запросы редиректятся на http://newsite.ru/. В квадратных скобках размещаются флаги: L — последнее (Last) правило, R — тип перенаправления (Redirect), указывается в виде R=code, где code — буквенное или числовое обозначение (permanent или 302).

На самом деле, mod_rewrite — штука очень полезная, ведь именно благодаря этому многие движки активно используют так называемые ЧПУ (Человеку Понятный URL). Если вам незнаком этот термин, поясню на примере. Статья про бесплатные движки для сайта имеет адрес: https://a-panov.ru/2014/11/free-cms/

Взглянув на этот URL, сразу видно, что статья опубликована в ноябре 2014. Убрав название с заключающим слешем — https://a-panov.ru/2014/11/ — получим список всех публикация за ноябрь. Обычные адреса, вида:

https://a-panov.ru/?p=389

особой дружелюбностью не отличаются. Увидев такой адрес, нельзя сказать о странице, на которую он ведёт, решительно ничего.

Этот способ хорош, когда вам неважно, на какую страницу нового сайта ссылаться. Но если вы переехали на другой домен, то желательно делать редиректы всех запросов с сохранением адресов. Для этого используйте такой код:RewriteRule ^.*$ http://newsite.ru/$0 [QSA,L,R=permanent]Новый флаг QSA сохранит так же и параметры, которые можно встретить в адресах после знака вопроса. В уже знакомом примере:

https://a-panov.ru/?p=389

если я размещу в .htaccess код выше, то произойдёт перенаправление на адрес http://newsite.ru/?p=389 чего без данного флага не было бы.

Здесь и дальше я буду опускать директиву включения преобразований:RewriteEngine Onпросто помните: если вы пользуетесь механизмом mod_rewrite, то все условия/преобразования должны выполняться после данной директивы. Для отключения используется такая строка:RewriteEngine Offсоответственно, для каждого правила нет нужды постоянно «включать» преобразования — это начинает делаться автоматически, сразу после первой директивы.

Как настроить редирект на www (или без www)

Подобные перенаправления требуются для случаев, когда сайт доступен по вариантам nsite.ru и www.nsite.ru, в этом случае поисковики считают их дублями и могут либо самостоятельно выбрать один из вариантов в качестве главного зеркала, либо в поиске будут варианты с обоих доменов. В общем случае, это отрицательный фактор при ранжировании сайта.

Вариант попроще, для одного домена. Перенаправление производится с поддомена www.site.ru на site.ru:RewriteCond %{HTTP_HOST} ^www\.nsite\.ru$RewriteRule .* http://nsite.ru/$0 [QSA,L,R=permanent]Здесь появилась новая директива RewriteCond, которая задаёт условие, при котором должны срабатывать редиректы — правила RewriteRule. Условие, в данном случае, имя домена, соответствующее www.nsite.ru (в регулярных выражения символ точки означает «любой символ», поэтому его желательно экранировать с помощью обратного слеша).

Обратное перенаправление тоже выполнить очень просто:RewriteCond %{HTTP_HOST} ^nsite\.ru$RewriteRule .* http://www.nsite.ru/$0 [QSA,L,R=permanent]Оба варианта рабочие, но у них есть маленький минус — для каждого нового конфига необходимо заменять домен nsite.ru на свой собственный. Нельзя ли сделать уникальный вариант? Легко!

Редирект с любого поддомена www:RewriteCond %{HTTP_HOST} ^www\.(.*)$RewriteRule .* http://%1/$0 [QSA,L,R=permanent]

Редирект на поддомен с www:RewriteCond %{HTTP_HOST} !^www\.RewriteRule .* http://www.%{HTTP_HOST}/$0 [QSA,L,R=permanent]

%{HTTP_HOST} — текущий домен

Как создать .htaccess

Такие вопросы тоже возникают. Проблема в том, что стандартный Проводник (приложение в Windows, отвечающее за графический интерфейс) не позволяет создавать файлы, начинающиеся с точки (созданием файлов или папкок осуществляется щелчком правой кнопкой на рабочем столе или в окне, и выбора нужного действия из списка Создать). Но выход есть: открывайте стандартный рекдатор Notepad (блокнот), в меню выбираете Файл → Сохранить как…, и в качестве имени сохраняемого файла указываете .htaccess — после этого он будет создан.

Файл .htaccess не работает

Бывают случаи, когда директивы из файла не работают. Обычно это вызвано тем, что в конфигурации Apache отключена поддержка .htaccess, за что отвечает директива:AllowOverride none

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

Возможен и такой вариант, что на сервере не используется Apache, например, IIS — основной «гость» на Windows-хостинге. Для уточнения свяжитесь с поддержкой своего хостера.

Есть ли какой-нибудь аналог .htaccess в nginx?

Ещё один довольно частый вопрос. В этом веб-сервера такой возможности нет. Однако, подобное обычно и не требуется. Дело в том, что nginx, как правило, устанавливается в качестве фронденда, т. е. принимает и обрабатывает все запросы, которые либо выполняет сам, либо перенаправляет на бэкенд, роль которого может выполнять Apache, который можно дополнительно конфигурировать с помощью .htaccess.

Автор публикации

1 871

не в сети 15 часов

x64 (aka andi)

Комментарии: 2720Публикации: 380Регистрация: 02-04-2009 Загрузка...

a-panov.ru

Редирект, переадресация или перенаправление

Одна из наиболее частых причин использования файла .htaccess, является потребность в перенаправлении посетителей сайта с одного адреса на другой, обычно это называют 301 редирект. Например был изменен адрес страницы или название каталога, изменилось имя домена и т.д. Эти вопросы легко решаются с помощью .htaccess. Но при этом стоит понимать, что иногда правила переадресации и формирования URL адресов формирует сама CMS (система управления сайтом) и в таком случае не всегда есть возможность решить определенные задачи при помощи .htaccess.

Для редиректа можно использовать директивы Redirect, RedirectMatch и возможности модуля mod_rewrite.Redirect — это самая простая директива для создания редиректа, если вам просто нужно перенаправить посетителей с одного адреса на другой, этот метод вполне подходит.RedirectMatch — является более продвинутой директивой для перенаправлений, чем Redirect. В ней можно использовать регулярные выражения и обратные связи.mod_rewrite — самое мощное средство не только для редиректа, но и для других видов преобразования. Для построения правил с помощью mod_rewrite используются директивы RewriteCond и RewriteRule.

Рассмотрим типичные виды перенаправлений и их решение при помощи указанных выше директив

C одной страницы сайта на другую

Часто бывает так, что был изменен адрес целевой страницы и очень не хочется, что бы посетителям при обращении к старому адресу отдавалась 404 ошибка. Redirect 301 /old-url /new-url​RedirectMatch 301 test$ http://some-site/test2RewriteRule ^old-url$ /new-url [R=301]

C одной страницы сайта на другой сайт

При запросе определенной страницы, пользователя перенаправляет на другой сайт.Redirect 301 /old-url http://newsite.com/​RedirectMatch 301 test$ http://newsite.com/RewriteRule ^old-url$ http://newsite.com/ [R=301]

Со всех страниц одного сайта на главную страницу другого сайта

То есть, не зависимо от запрошенного адреса, перенаправление будет производится на главную страницу.

Redirect 301 / http://newsite.com/​RedirectMatch 301 /$ http://newsite.com/RewriteRule ^(.*)$ http://newsite.com/ [R=301]

Такой вид редиректа не совсем подходит, если мы сменили домен для сайта и хотим перенаправлять посетителей на новый адрес сайта. Нам желательно перенаправлять пользователя на запрошенную им страницу, но на новом домене (http://oldsite.com/test -> http://newsite.com/test).

Со всех адресов одного сайта, на такие же адреса другого сайта

RedirectMatch 301 /(.*)$ http://newsite.com/$1RewriteRule ^(.*)$ http://newsite.com/$1 [R=301]

Редирект с www на без www (www.some-site.com -> some-site.com)

Частая проблема, сайт доступен по обоим адресам, и с www и без www.RewriteCond %{HTTP_HOST} ^www.(.*)$ RewriteRule ^(.*)$ http://%1/$1 [L,R=301]RewriteCond %{HTTP_HOST} ^www.some-site.com.ru$ [NC] RewriteRule ^(.*)$ http://some-site.com/$1 [R=301,L]RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC] RewriteRule ^(.*) http://%1/$1 [L,R=301]​

В целом эти три примера практически идентичны, различаются только формой записи

Редирект с без www на www (some-site.com -> www.some-site.com)

RewriteCond %{HTTP_HOST} ^([^www].*)$ RewriteRule ^(.*)$ http://www.%1/$1 [L,R=301]RewriteCond %{HTTP_HOST} ^some-site.com$ [NC] RewriteRule ^(.*)$ http://www.some-site.com/$1 [R=301,L]RewriteCond %{HTTP_HOST} !^www.some-site.com$ [NC] RewriteRule ^(.*)$ http://www.some-site.com/$1 [R=301,L]

Редирект с адресов без слеша на адреса на со слешем

Здесь довольно много вариантов решения и очень много зависит непосредственно от сайт и от того, как формируются адреса, все возможные варианты перечислять не будем.RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteRule ^(.*)$ /$1/ [R=301,L]Это самый простой пример, сюда можно еще добавить проверку URL адреса на содержание GET параметров, что бы c адреса вида /test?id=1&page=5 не было перенапрвления на /test/?id=1&page=5. И проверку на содержание расширения файла, что бы адреса вида /test.html не превращались в /test.html/.​RewriteCond %{QUERY_STRING} !.+ RewriteCond %{REQUEST_URI} !.​%{QUERY_STRING} — эта переменная сервера содержит GET параметры, ".+" — означает, что должен быть как минимум один символ, восклицательный знак указывает на несоответствие шаблону. То есть, если переменная %{QUERY_STRING} не содержит ни одного символа, выполняем правило. %{REQUEST_URI} — эта переменная содержит запрошенный адрес, "!." — не должен содержать точку. То есть, если в запросе нет точки, правило выполняем. Можно дополнительно уточнить расширения, если в этом есть необходимость:RewriteCond %{REQUEST_URI} !.(html|htm|php|txt)В итоге получаем такое правило:​RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} !(.*)/$ RewriteCond %{REQUEST_URI} !. RewriteCond %{QUERY_STRING} !.+ RewriteRule ^(.*)$ /$1/ [R=301,L]

​Редирект с адресов со слешем на адреса на без слеша

В целом тут картина примерно та же, что и в предыдущем примере, правило будет выглядеть так:​​​RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_URI} (.*)/$ RewriteCond %{QUERY_STRING} !.+ RewriteRule ^(.*)/$ /$1 [R=301,L]

Редирект с дублей главной страницы /index.php или /index.html на главное зеркало сайта

Часто CMS создают дули главной страницы сайта, доступные по адресам /index.php или /index.html. Это безусловно плохо влияет на seo оптимизацию сайта. Решается это довольно просто:RewriteCond %{REQUEST_URI} /index.(php|html|htm) RewriteRule ^(.*)$ / [R=301,L]Теперь при запросе http://somesite.com/index.php, http://somesite.com/index.html или http://somesite.com/index.htm будет производится редирект на главную страницу http://somesite.com/. Но здесь не учтен один момент. Некоторые CMS формируют URL адреса с GET параметрами после /index.php (/index.php?option=sometext&view=sometext&Itemid=2 ) и если оставить текущее правило, с адреса с GET параметрами будет также производится редирект на главную страницу. Добавляем проверку на GET параметры:RewriteCond %{REQUEST_URI} /index.(php|html|htm) RewriteCond %{QUERY_STRING} !.+ RewriteRule ^(.*)$ / [R=301,L]Теперь редирект с адресов вида  /index.php?option=sometext&view=sometext&Itemid=2 производится не будет. Но здесь опять не учтен один момент, будут также доступны адреса вида /index.html?option=sometext&view=sometext&Itemid=2 и  /index.htm?option=sometext&view=sometext&Itemid=2. Конечно не супер страшно, но все же лучше от этого избавится, тем более такая возможность есть. Вариант только один, вместо одного правила, написать два:RewriteCond %{REQUEST_URI} /index.php RewriteCond %{QUERY_STRING} !.+ RewriteRule ^(.*)$ / [R=301,L]

RewriteCond %{REQUEST_URI} /index.(html|htm) RewriteRule ^(.*)$ / [R=301,L]

Редирект с HTTP на HTTPS

Это необходимо делать, при установке SSL сертификата для сайта, что бы все пользователи использовали только защищенное соединения по протоколу HTTPS.RewriteCond %{HTTPS} off RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]Но у меня такой вариант вызывал зацикливание — бесконечный редирект. Опытным путем было выяснено, что не работает условие RewriteCond, по сути оно просто не учитывалось. Это условие должно проверять наличие соединения по HTTPS и если его нет — выполнять директиву RewriteRule, делать редирект на HTTPS. Поэтому я нашел другое решение.​RewriteCond %{ENV:HTTPS} !on RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]Это решение отлично сработало. Вообще вариантов довольно много, ниже еще несколько.RewriteCond %{SERVER_PORT} !^443$ RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R,L]

RewriteCond %{HTTPS} off RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTP:X-HTTPS} !1 RewriteRule ^(.*)$ https://%{HTTP_HOST}/$1 [R=301,L]

​RewriteCond %{HTTP:SSL} !1 RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [QSA,L,R=301]

hostgid.net

Переадресация с одного домена на другой (редирект домена)

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

  • сайт открывается по 2 адресам: www.mysite.ua и mysite.ua (для поисковых машин это существенная разница и они воспринимают 2 адреса, как 2 разных сайта), поэтому необходимо сделать чтобы при обращении к страницам сайта с www, шла переадресация на такие же страницы сайт без www, например с http://mysite.ua/news/ на http://www.mysite.ua/news/ (или наоборот).

  • у вас есть несколько доменов, основной mysite.ua и альтернативный my-site.ua и/или кириллический мойсайт.укр. Необходимо, чтобы при наборе в браузере адреса my-site.ua и/или мойсайт.укр посетитель автоматически перенаправился на сайт mysite.ua.

1. Перенаправление домена в файле .htaccess.

1.1. С www-домена на основной домен

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

RewriteEngine On RewriteCond %{HTTP_HOST} ^www.(.+)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

1.2. С основного домена на www-домен

RewriteEngine On RewriteCond %{HTTP_HOST} !^(www.) [NC] RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

1.3. С одного домена на другой

Задача может быть решена так же как и первая, для настройки перенаправления посетителей с одного доменного domain1.ua имени на другое domain2.ua вы можете использовать соответствующие директивы в файле .htaccess.

Сделать на старом домене domain1.ua файл .htaccess, с содержанием:

RewriteEngine On RewriteCond %{HTTP_HOST} domain1.ua RewriteRule (.*) http://domain2.ua/$1 [R=301,L]

1.4. Перенаправление с нескольких доменов

Необходимо сделать переадрессацию с доменов domain1.ua и www.domain1.ua на новый домен domain2.ua, для это впишите:

RewriteCond %{HTTP_HOST} ^domaim1\.ua RewriteRule ^(.*)$ http://domain2.ua/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^www.domain1\.ua RewriteRule ^(.*)$ http://domain2.ua/$1 [R=301,L]

Аналогично можно делать перенапрвление с domain.ua на domain.com и т. п.

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

2. Перенаправление домена в панели управления хостингом

На примере панели управления «cPanel»

101

Вы можете выбрать варианты перенаправления – 301 или 302.

301 редирект — это постоянное перенаправление. Т.е. при установке 301 редиректа всем, в том числе поисковым машинам, будет сообщено, что запрашиваемая страница навсегда «переехала» на новый адрес. Такое перенаправление необходимо, например, при переезде с одного доменного имени на другое. Таким образом, вы не потеряете поисковый трафик, а поисковые машины будут оповещены о смене адреса.

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

Также, можно выбрать опции перенаправления, связанные с синонимом сайта с www. Обратите внимание, что переадресацию с домена http://www.site.ua/ на http://site.ua/ средствами cPanel сделать не удастся. Подобный редирект создается с помощью файла .htaccess.

Управление перенаправлением выглядит довольно стандартно. Вы можете удалить созданный параметр:

102

3. Перенапрвленеи кирилличнский доменов

Переадрессация кириилических доменов ничем не отличается от обычного (на латинице). Просто необходимо использовать конвертер punycode .

Punycode – это метод преобразования символов, относящихся к стандарту Unicode, в последовательность символов, содержащих только символы в кодировке ASCII, а именно 26 букв латинского алфавита (a-z), цифры (0-9) и символ дефиса (всего 37 символов).

Домены, содержащие символы национальных алфавитов называют IDN-доменами. Некоторые сервисы не поддерживают IDN представление доменов. Поэтому не работает домен УКР или другие IDN-домены. В таком случае необходимо использовать имя домена после Punycode-конвертации.

Например, домен http://мойсайт.укр/ после кодирования (можно воспользоваться сервисом http://wwhois.ru/punycode.php) становится http://xn--80arbjktj.xn--j1amh/ , его-то мы и вписываем в уже знакомый код

RewriteEngine On RewriteCond %{HTTP_HOST} http://xn--80arbjktj.xn--j1amh/ RewriteRule (.*) http://domain2.ua/$1 [R=301,L]

или в соответствующую строку в панели управления.

 

blog.ukrnames.com

Как сделать редирект с домена на домен и зачем это нужно

Добрый день, мои читатели! Я думаю, этот материал будет очень интересен для вас! Поговорим о том, что такое редирект с домена на домен. Представьте, вы набираете сайт president.ru, а после этого, он попадает на ваш! И, вот уже вы имеет сотни тысяч поклонников.

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

301 редирект представляет собой переадресацию с одного сайта на другой.

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

Сам htaccess 301 redirect необходим, программисту и вебдизанеру, чтобы с одного поддомена он мог перейти в другой. Так, например, нередки случаи, когда хороший и качественный сайт внезапно попадает под фильтры «поисковиков». В то же время, те читатели интернет – ресурса, который хранят его в своих закладках поисковых систем или же имеют подписку на rss новости, набирая уже имеющийся у них адрес, переходят на «фильтрованный» сайт.

Фильтрованный сайт

Помимо этого, redirect используется, чтобы имея основной проект, повысить его рейтинг в поисковых системах, а купив новый «продвинутый»  домен и произведя переадресацию на свой собственный интернет – ресурс. Таким образом, увеличивается и рейтинг вашего портала.

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

Как сделать редирект 301?

Чтобы произвести редирект следует найти файл htaccess в корневой папке (корневой называется та папка, где расположен ваш сайт).  Обычно это серверные папки, в которые можно войти через ftp типа www, domains, либо /public_html или HTDOCS. Далее, чтобы перейти с сайта на сайт, необходимо написать код (или скопировав, вставить его)

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

Можно также воспользоваться и еще одним редиректом, для того, чтобы не добавлять ссылки для адресов в htaccess

RedirectMatch /(.*)\.php$ /$1.aspx

Чтобы Ваш читатель был перенаправлен с сайта на другой, следует использовать следующую запись:

Redirect / http://www.домен.com

301 редирект с домена с www на без выглядит так:

RewriteEngine onRewriteCond %{HTTP_HOST} ^ www.nic.ruRewriteRule ^(.*)$ http:// www.nic.ru /$1 [R=301,L]

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

RewriteEngine OnRewriteCond %{HTTP_HOST} ^ timeweb.comRewriteRule (.*) http://www. timeweb.com /$1 [R=301,L]

Чтобы переадресовывать кириллические домены, необходимо воспользоваться конвертером punucod. Для этого, уже имеющийся у вас адрес (например президент.рф) при помощи сервиса http://wwhois.ru/punycode.php (введя сайт) необходимо изменить на www.xn--d1abbgf6aiiy.xn--p1ai.

Сервис punycode

Опытные программисты могут сделать и переадресацию домена на веб адрес – DNS web direct. Но это уже более высокий уровень.

В качестве примера, попробуйте самостоятельно сделать переадресацию следующих доменов http://2domains.ru/, http://timeweb.com,  https://www.nic.ru.

Очень удобно воспользоваться услугой переадресации доменов http://2domains.ru/. Она позволяет не только перенаправить ваш домен на другой адрес, но, также иметь не изменяемый адрес вашей страницы без хостинга и смены провайдера. Также, вы можете воспользоваться данной услугой, чтобы зарегистрировать дополнительный домен.

Владея одной страницей, например mypage, вы можете приобрести полное доменное имя на основном разделе сайта www.mypage.ru/mybrand/index.html. Это позволяет делать прямую рекламу интернет — ресурса, а читатели будут напрямую указывать адрес веб-страницы вашего ресурса и находить целевую страницу!

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

Можно и самостоятельно придумывать способы применения редиректа. Это очень удобно и просто! Стоит только попробовать! Попытайтесь!

На сегодня все. Подписывайтесь на обновления. Жду ваших комментариев, до встречи в следующем блоге! Пока-пока.

С уважением, Роман Чуешов

Прочитано: 283 раз

romanchueshov.ru

Редирект через .htaccess | REG.RU

Перейдите в каталог сайта и откройте файл .htaccess или создайте его, если он не существует. Добавьте в файл необходимые строки.

301 редирект с одного домена на другой

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

RewriteEngine On RewriteCond %{HTTP_HOST} old-site.ru RewriteRule (.*) http://new-site.ru/$1 [R=301,L]

где:

  • old-site.ru — домен, с которого происходит редирект;
  • new-site.ru — домен, на который происходит редирект.

301 редирект с домена с WWW на домен без WWW

Добавьте в .htaccess следующие строки:

RewriteEngine On RewriteCond %{HTTP_HOST} ^www.site.ru$ [NC] RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

где site.ru — имя вашего домена.

301 редирект с домена без WWW на домен с WWW

Добавьте в .htaccess следующие строки:

RewriteEngine On RewriteCond %{HTTP_HOST} ^site.ru RewriteRule (.*) http://www.site.ru/$1 [R=301,L]

где site.ru — имя вашего домена.

301 редирект для отдельного IP

Добавьте в .htaccess следующие строки:

RewriteEngine On RewriteCond %{REMOTE_ADDR} 123.123.123.123 RewriteRule ^(.*)$ http://site.ru [R=301,L]

где site.ru — имя вашего домена.

301 редирект с https:// на http://

Добавьте в .htaccess следующие строки:

RewriteEngine On RewriteCond %{SERVER_PORT} ^443$ [OR] RewriteCond %{HTTPS} =on RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

где site.ru — имя вашего домена.

301 редирект с http:// на https://

Пожалуйста, воспользуйтесь справкой:

301 редирект с главной страницы, кроме остальных страниц сайта

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

RewriteEngine On RewriteRule ^$ https://site.ru [R=301,L]

www.reg.ru

Делаем перенаправление с сайта на сайт

Здравствуйте, читатели блога Сайт с нуля.

Сегодня мы хотим вам описать как сделать 301 редирект, прописать его в файле .htaccess, для перенаправления сайта или домена с www на без него или наоборот, а возможно вас интересует другая переадресация — это также возможно настроить.Редирект (redirect) — это перенаправление или переброс (переадресация) посетителя с одной страницы на другую или с одного сайта на другой, допустим человек набирает в командной строке браузера конкретный адрес блога, а попадает совсем на другой.

Зачем нужен редирект вебмастерам и seo оптимизаторам? Редирект может понадобится в разных случаях, допустим если вы знакомы с проблемой дублирования страниц, то при помощи redirect их можно склеить, также клеится домен с www и без.

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

Redirect еще можно переменить если вам по каким-либо причинам нужно поменять адрес страницы, но она уже проиндексирована поисковыми системами и занимает высокие места в их выдаче и вам не хочется терять эти позиции, в это случае редирект дает вам возможность сделать это без потерь.

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

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

В тоже время, поисковые системы только рады будут, если вы объясните им, что ваш сайт с www и без него — это один и тот же ресурс.

Делаем 301 редирект с помощью файла .htaccess

Итак, чтобы создать перенаправление, вам нужно найти корневую папку сайта, а в нет файл .htaccess. Очень часто его не видно, если заходить через файловый менеджер хостинга — нужно изменить настройки, чтобы отображались скрытые файлы. Или же его очень просто найти, если подключиться к серверу через ftp.

Но, вдруг, если такого файла нет — создайте.

Далее открываете .htaccess в  текстовом блокноте, но лучше, к примеру, в бесплатном редакторе кода Notepad++ и пишите следующее, чтобы создать редирект с www на без него:

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^www.ваш_сайт\.ru$ [NC]

RewriteRule ^(.*)$ http:

Редирект с варианта без приставки на вариант доменного имени с WWW:

Options +FollowSymLinks

RewriteEngine On

RewriteCond %{HTTP_HOST} ^ваш_сайт\.ru$ [NC]

RewriteRule ^(.*)$ http:

Не забывайте про обратную наклонную черту перед точкой (.) в строке RewriteCond — она обязательна. Вместо «ваш_сайт» вписывайте нужные данные.

При 301 редиректе Google должен объединять PR данных ресурсов. Теперь, ваш интернет проект будет доступен и по доменному имени с www, так и без него, но в адресной строке вас будет перебрасывать на то имя, на которое вы настроили редирект.

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

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

Также стоит прочитать

sitesnulya.ru