Что нужно для определения .РФ домена через $_SERVER['HTTP_HOST']?

12
Allality
На сайте с 15.05.2010
Offline
75
2203

Год назад пробовал определить на одном из хостингов через $_SERVER['HTTP_HOST'] домен зоны .РФ, тогда ничего не получилось, забил на это дело.

Сейчас хочу использовать .РФ домен и имена URL на русском языке.

Важно, чтобы хостинг позволял определять домены через $_SERVER['HTTP_HOST'], а также чтобы в правилах редиректов .htaccess можно было передавать URL на кириллице через GET.

Наверняка кто-то уже использует подобное, подскажите, как подбирать хостинг, исходя из вышеперечисленных нужд?

Andron_buton
На сайте с 19.07.2007
Offline
270
#1
Allality:
Год назад пробовал определить на одном из хостингов через $_SERVER['HTTP_HOST'] домен зоны .РФ, тогда ничего не получилось, забил на это дело.

Сейчас хочу использовать .РФ домен и имена URL на русском языке.

Важно, чтобы хостинг позволял определять домены через $_SERVER['HTTP_HOST'], а также чтобы в правилах редиректов .htaccess можно было передавать URL на кириллице через GET.

Наверняка кто-то уже использует подобное, подскажите, как подбирать хостинг, исходя из вышеперечисленных нужд?

idna convert class не оно?

N
На сайте с 06.05.2007
Offline
419
#2
Andron_buton:
idna convert class не оно?

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

ТС почему бы вам понятно не описать, что именно вы вкладываете в понятие определение домена РФ ?

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

В данном случае достаточно понимать, что домен .рф закодирован особым образом и в переменной $_SERVER не будет содержатся строка '.рф', а будут закодированная строка, которая соответствует вашему домену. То же самое и в .htaccess.

Кнопка вызова админа ()
Allality
На сайте с 15.05.2010
Offline
75
#3

С первым вопросом разобрался.

А вот на счет .htaccess не ясно.

Вот например для латиницы:

RewriteRule ^([a-zA-Z0-9_-]+)\/$ index.php?url=$1

На что заменить ([a-zA-Z0-9_-]+), чтобы в url передавал кириллицу?

Mik Foxi
На сайте с 02.03.2011
Offline
1184
#4

$_SERVER['HTTP_HOST'] нормально все определяет. в пуникоде. а дальше уже конвертируйте скриптами во что угодно.

кирилица через гет - передается в urlencode

Антибот, антиспам, веб фаервол, защита от накрутки поведенческих: https://antibot.cloud/ (Зеркало: https://антибот.рф/ ) Форум на замену серчу: https://foxi.biz/
Allality
На сайте с 15.05.2010
Offline
75
#5
foxi:
кирилица через гет - передается в urlencode

А на счет правила для .htaccess не подскажете?

Allality
На сайте с 15.05.2010
Offline
75
#6

Подскажите кто-нибудь. На хостинг (ValueHost), даже технический директор поддержки не смог ответить. 🤪

Искал по форумам, нашел решение, но у меня оно не работает, видимо версия софта другая или настройки апача.

AGHost
На сайте с 16.11.2011
Offline
115
#7

Погуглите "htaccess punycode", может на хостинге нет поддержки libidn, поэтому не срабатывает.

8 лет на рынке услуг хостинга - https://agho.st (https://agho.st)
LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#8

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

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
Allality
На сайте с 15.05.2010
Offline
75
#9
LEOnidUKG:
RewriteRule ^(.*)\/$ index.php?url=$1

Спасибо большое, работает. :)

Но возникает проблемка. Дело в том, что у меня два файла - index.php для главной страницы и kontent.php для всех остальных (больше 100).

Т.е. хочется, чтобы при заходе на домен.рф человеку показывался index.php, а при заходе на любой другой URL (домен.рф/статья-про-кроликов/, домен.рф/каталог-статей/ и т.д.) пользователь попадал на kontent.php, т.е. второе правило будет выглядеть так:

RewriteRule ^(.*)\/$ kontent.php?url=$1

А как первое правило сделать, чтобы при загрузке главной страницы переводило на index.php?

LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#10

А зачем тогда правило:

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

???

12

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