Переадресация с домена .рф на .ru

12
D6
На сайте с 12.02.2015
Offline
0
2177

Добрый день!

Имеется сайт к которому прикреплено на хостинге два доменных имени .рф и .ru необходимо что бы в адресной строке всегда отображался домен .ru . Подскажите как это осуществить? Так как путем простой переадресации не получается.

SeVlad
На сайте с 03.11.2008
Offline
1609
#1
Danil63:
Так как путем простой переадресации не получается.

Почему? Телепатирую - движок настроен на рф.

Делаю хорошие сайты хорошим людям. Предпочтение коммерческим направлениям. Связь со мной через http://wp.me/P3YHjQ-3.
nn165m
На сайте с 05.08.2012
Offline
234
#2

301 редикт и все...

Хостинг от 150р./мес./самые адекватные саппорты:) ( http://beget.ru/?id=34668 ) Проверка ссылок огонь пушка как помогает:) ( https://checktrust.ru/r/979 )
LY
На сайте с 28.05.2010
Offline
50
#3
SeVlad:
Почему? Телепатирую - движок настроен на рф.

Мне кажется все намного проще, пробуют сделать редирект с кирилицы на латиницу, забыв про https://ru.wikipedia.org/wiki/Punycode

Магазин аккаунтов с балансом Litres,DNS,Ozon,Rotapost и еще 50+ других сервисов тут - vk.cc/7QK0Sk
D6
На сайте с 12.02.2015
Offline
0
#4

Спасибо за ответы.

Я пробовал "RedirectMatch 301 (.*)\.php$ http://www.site.com$1.html" и "RewriteRule ^(.*)$ http://www.site.com/$1 [R=301,L]" результат один при заходе хоть на .рф хоть на .ru выходит ошибка "На этой странице обнаружена циклическая переадресация".

J
На сайте с 20.02.2014
Offline
120
jkm
#5

"На этой странице обнаружена циклическая переадресация"

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

У директивы RedirectMatch нет механизмов для проверки какой домен был запрошен.

У RewriteRule для этого есть RewriteCond %{HTTP_HOST}


RewriteCond %{HTTP_HOST} !^www\.site.com$ [NC]
RewriteRule (.*) http://www.site.com/$1 [R=301,L]
M
На сайте с 04.12.2013
Offline
223
#6

В условии точку перед com лучше тоже экранировать. Ну, и не забываем о включении обработки этих директив.

---------- Добавлено 13.02.2015 в 00:44 ----------

P.S. Если вдруг понадобится перенаправление на стороне, обращайтесь.

Домены и скрипт для коротких ссылок: https://u75.ru/domains-for-shortcuts
D6
На сайте с 12.02.2015
Offline
0
#7

jkm, огромное спасибо! вставил код все заработало, но скидывает всегда только на одну и ту же (главную) страницу. т.е как сделать что бы с страницы .рф/bla-bla переносило на .ru/bla-bla .

miketomlin Можно чуть чуть по подробнее, я новичек в этом деле.

Простите уж за тупые вопросы. Понимаю что туплю и не сразу догоняю))

Polkan
На сайте с 28.09.2005
Offline
102
#8
Danil63:
... но скидывает всегда только на одну и ту же (главную) страницу. т.е как сделать что бы с страницы .рф/bla-bla переносило на .ru/bla-bla ...

Скорее всего, потому что про query string забыли.

Попробуйте так:

RewriteCond %{HTTP_HOST} !^www\.site\.com$ [NC]

RewriteCond %{QUERY_STRING} (.*)
RewriteRule (.*) http://www.site.com/$1?%1 [R=302,L]

Никогда не ставьте 301 во время настройки!

Только когда убедитесь, что правила работают так, как надо, меняйте 302 на 301.

WordPress-плагин для Apishops (http://p-api-shop.ru/) P-API-Shop WooCommerce-плагин для Apishops (http://woo-apishops.ru/) Woo-Apishops
D6
На сайте с 12.02.2015
Offline
0
#9
Polkan:
Код:
RewriteCond %{HTTP_HOST} !^www\.site\.com$ [NC]
RewriteCond %{QUERY_STRING} (.*)
RewriteRule (.*) http://www.site.com/$1?%1 [R=302,L]

Не помогло. Вылетает на страницу .ru/index.php как в принципе и с кодом от jkm.

J
На сайте с 20.02.2014
Offline
120
jkm
#10
Danil63:
Вылетает на страницу .ru/index.php

Такое поведение бывает, если правила для редиректа ставить в самый конец, после конструкций вроде RewriteRule .* index.php

Ставьте правила в самом верху, сразу после RewriteEngine On

И на всякий случай, перед очередной проверкой сбрасывайте кэш браузера.

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий