CMS Eleanor - Поиск
Полная версия этой страницы: Официальный форум Eleanor CMS » Как выделить домен из сложных ссылок?
Официальный форум Eleanor CMS » Для вебмастеров и владельцев сайтов » Комната программистов
Вот собственно есть несколько ссылок:

http://example.com/
http://example.com.ua/
http://subdomian.example.com/
http://subdomain.example/
http://subdomain.example.com.ua/
ну и т.д.

Вопрос в следующем: можно ли создать УНИВЕРСАЛЬНОЕ решение, позволяющие вытягивать чистый домен (без примесей типа .ru и .com.ua) из ссылок? При этом следует учесть, что домен может быть и верхнего уровня (http://subdomain.example/) и третьего (http://subdomain.example.com.ua). А нам нужно получить именно этот самый "example". Который тоже может быть любым.

Соответсвенно всякие HTTP_HOST'ы и parse_url'ы нам не подходят.

Пока что мысли сводятся к перебору всех существующих доменов верхнего уровня, а затем если такого не существует - делаем вывод, что наш домен - верхний.
Но это решение не нравится - не больно то хочется проверять все существующие зоны.
Alexander
Окей. Раз не хотите перебирать все существующие зоны, объясни каким образом должен работать скрипт, если ему скормят домен:
http://zzzzz.xxxx.aa.qq

Как определить что зона именно .aa.qq, а не .qq ?
Alexander, ну я такого ответа и боялся :( думал - вдруг кто сталкивался с подобной проблемой. спасибо, будем думать :)
alexben73
я бы попробовал решить задачу следующим образом:
Первым делом разбил задачу на шаги.
шаг первый: очистка урла и начальная конфигурация. (очистка от протокола http(s), префикса www и фрагментов типа: "/test/index.php )
шаг второй: сортировка доменов. Определяем к какому виду наш очищенный домен относится.
шаг третий: если домен второго уровня (example.com) - вырезаем регуляркой все, что находится перед точкой. Сохраняем переменую - выводим.
шаг четвертый: если домен 3,4,5,10 и выше уровня (example.ua.com) можно прибегнуть к reverse IP с помощью сторонних сервисов типа 2ip или http://www.yougetsignal.com/tools/w...on-web-server/.

С помощью reverse IP сможем определить где субдомен а где зона.
Зная субдомен нашего урла, нам уже не надо знать доменую зону. Логично? Вполне.

Если сказать на примере то примерно так:
отправляем на анализ урл вида: forum.eleanor-cms.ru
получаем:

1. test.eleanor-cms.ru
2. eleanor-cms.ru
3. forum.eleanor-cms.ru

Логично предположить, из 3 результатов меньший по символам (либо точкам разделяющим наш урл- это будет правильно) является основным доменом.


termit
А если хостинг виртуальный? Тогда на одном IP сидит куча сайтов...
Например мой zdu.org.ua выдаёт 38 результатов, причём левых...
alexben73
alexben73,
тоже не вижу проблемы, достаточно отфильтровать результат.
Тем более результаты с http://www.yougetsignal.com/tools/ можно дернуть в формате JSON... прям как подарок новогодний для ТС)
termit
А что по поводу времени отклика?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.