0 Пользователей и 1 Гость просматривают эту тему.
  • 9 Ответов
  • 4812 Просмотров
*

gwynnbleidd

  • Новичок
  • 5
  • 0 / 0
Поддомены для регионов
« : 07.02.2015, 10:58:36 »
Здравствуйте, существует задача, но не совсем понятна её реализация.
Задача: необходимо определять регион пользователя по IP и перенаправлять его на необходимый поддомен. На поддоменах должны различаться страницы с ценами, контакты и главная, а также информация в шапке и в футере.
То есть если человек с Калининграда, то его перебрасывает на kaliningrad.site.ru, где он видит контакты для своего региона.

Определение нужного региона по IP - сделано. Непонятно, как организовать технически поддомены, копировать ли один и тот же сайт и изменять информацию там или можно как-то задать различие только для необходимых страниц?
Проблема с копированием очевидна: если необходимо изменить шаблон, то изменения придется вносить во все копии для поддоменов и т.п.

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

*

AlekVolsk

  • Гуру
  • 6915
  • 415 / 4
Re: Поддомены для регионов
« Ответ #1 : 07.02.2015, 12:43:21 »
Определение региона - уже было и не раз, поиск по форуму пробовали?
На каждом поддомене - свой сайт? или один сайт на все поддомены, включая головной домен?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Поддомены для регионов
« Ответ #2 : 07.02.2015, 13:11:03 »
На поддоменах должны различаться страницы с ценами, контакты и главная, а также информация в шапке и в футере.

Каким компонентом/компонентами выводятся эти страницы? В них и нужно править.Если это статичные HTML странички то просто по папкам их раскидать и скрипт на главную повесить который будет редиректить. Или в htaccess прописать перенаправление.
« Последнее редактирование: 07.02.2015, 13:15:02 от zomby6888 »
интернет-блог: http://websiteprog.ru
*

gwynnbleidd

  • Новичок
  • 5
  • 0 / 0
Re: Поддомены для регионов
« Ответ #3 : 07.02.2015, 15:00:45 »
Определение региона - уже было и не раз, поиск по форуму пробовали?
На каждом поддомене - свой сайт? или один сайт на все поддомены, включая головной домен?
С определением региона проблем никаких нет, это уже работает.
Желательно один сайт на все поддомены, так как есть ограниченность в дисковом пространстве, а регионов порядко 80.

Каким компонентом/компонентами выводятся эти страницы? В них и нужно править.Если это статичные HTML странички то просто по папкам их раскидать и скрипт на главную повесить который будет редиректить. Или в htaccess прописать перенаправление.
Контакты, цены, главная - стандартные материалы, информация в шапке\футере - в самом шаблоне. Как менять информацию в шапке\футере в зависимости от поддомена - понятно.
Непонятно как сделать один сайт для всех поддоменов, но чтобы там отличались определенные материалы.

В целом вообще не понятно как сделать один сайт для всех поддоменов, чтобы это был не редирект на основной, а именно по адресам поддоменов был один и тот же сайт.
« Последнее редактирование: 07.02.2015, 15:11:14 от gwynnbleidd »
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Поддомены для регионов
« Ответ #4 : 07.02.2015, 15:22:35 »
Контакты, цены, главная - стандартные материалы, информация в шапке\футере - в самом шаблоне.

Первое что вам необходимо сделать это чтобы запросы вида yourcity.site.ru перенаправлялись на URL вида site.ru?option=com_content&city=yourcity. Гуглите на тему динамических поддоменов. Там надо будет что-то прописать в dns и htaccess.

Затем вам необходимо в шаблоне сайта и в шаблоне материала в зависимости от условий (REQUEST['city']) выводить различные данные и материалы. Понадобятся минимальные навыки работы с php. 
интернет-блог: http://websiteprog.ru
*

gwynnbleidd

  • Новичок
  • 5
  • 0 / 0
Re: Поддомены для регионов
« Ответ #5 : 07.02.2015, 16:03:54 »
Первое что вам необходимо сделать это чтобы запросы вида yourcity.site.ru перенаправлялись на URL вида site.ru?option=com_content&city=yourcity. Гуглите на тему динамических поддоменов. Там надо будет что-то прописать в dns и htaccess.

Затем вам необходимо в шаблоне сайта и в шаблоне материала в зависимости от условий (REQUEST['city']) выводить различные данные и материалы. Понадобятся минимальные навыки работы с php. 
Дело в том, что обязательно должен оставаться адрес поддомена, а не site.ru?option=com_content&city=yourcity. Пример подобного функционала можно увидеть на сайте мегафона, там есть сверху список из регионов, при смене которого перебрасывает на определенный поддомен.
Спойлер
[свернуть]
Необходим аналогичный функционал, при чем желательно чтобы сайт был один, а не копии для всех поддоменов. Как выводить определенный данные в зависимости от региона - наименьшая проблема и здесь видятся пути решения.
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Поддомены для регионов
« Ответ #6 : 07.02.2015, 16:13:44 »
Цитировать
Дело в том, что обязательно должен оставаться адрес поддомена, а не site.ru?option=com_content&city=yourcity

А вы гуглили на тему динамических поддоменов?  Поисходит не перенаправление а проксирование как бы..
интернет-блог: http://websiteprog.ru
*

gwynnbleidd

  • Новичок
  • 5
  • 0 / 0
Re: Поддомены для регионов
« Ответ #7 : 07.02.2015, 16:54:39 »
А вы гуглили на тему динамических поддоменов?  Поисходит не перенаправление а проксирование как бы..
Спасибо, вроде бы действительно то, что нужно. Буду пробовать.
Правильно ли я понимаю решение для материалов, что если я создам материалы с алиасом contacts-spb и contacts-krasnodar, то в шаблоне вывода материала проверять текущий регион и добавлять необходимый регион к алиасу contacts, либо есть какое-то более элегантное решение проблемы?
*

zomby6888

  • Завсегдатай
  • 1473
  • 171 / 3
Re: Поддомены для регионов
« Ответ #8 : 07.02.2015, 17:17:27 »
Правильно ли я понимаю решение для материалов, что если я создам материалы с алиасом contacts-spb и contacts-krasnodar, то в шаблоне вывода материала проверять текущий регион и добавлять необходимый регион к алиасу contacts

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

Вот кстатии статья на  хабре возможно вам поможет. Там правда для nginx инструкция но в каментах можно найти и про соответствующую настройку apache. Если все получится поделитесь практическим решением, думаю для многих это будет полезным..
интернет-блог: http://websiteprog.ru
*

gwynnbleidd

  • Новичок
  • 5
  • 0 / 0
Re: Поддомены для регионов
« Ответ #9 : 09.02.2015, 00:18:00 »
Вот кстатии статья на  хабре возможно вам поможет. Там правда для nginx инструкция но в каментах можно найти и про соответствующую настройку apache. Если все получится поделитесь практическим решением, думаю для многих это будет полезным..
Настраивал на хостинге, где стоит CPanel и доступа к настройкам сервера нет.
Для решения моей проблемы выполнял следующее:
1) Создать поддомен *.site.ru и указать путь к основному site.ru
2) В редакторе DNS необходимо добавить A правило *.site.ru и указать адрес основного домена.
В общем-то и все, теперь по любому поддомену *.site.ru открывается основной сайт по данному домену. Дальше просто вытягивать значение * из HTTP_HOST и применять его значение для того, что требуется.

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

После всех манипуляций можно зайти в том числе по адресу asdasdfasdfads.site.ru, решение в лоб - сравнивать допустимые варианты и если он не подходит, то перебрасывать на дефолтный адрес, возможно кто-то знает как сделать лучше, буду рад узнать другие варианты.

Как вариант. В таком случае даже не придется что то прописывать в PHP коде шаблона. Минус что для каждого города надо создавать отдельный материал. Можно также использовать отдельный параметр в запросе как я выше написал и обрабатывать его уже средствами PHP.
Минус довольно большой в зависимости от требуемых вариантов, особенно, если в статье будет одно единственное изменение вида: "Это Краснодарский край"/"Это Ярославская область" и т.п. Для решения такой проблемы я использовал плагин sourcerer, он позволяет вставлять php код прямо в материал. Тогда просто остается обработать регион и взять подготовленный вариант(я использовал ini файлы).

Буду рад любой помощи и советам как еще можно упростить данную задачу.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Несуществующие поддомены

Автор Lovenokia

Ответов: 8
Просмотров: 851
Последний ответ 05.10.2020, 16:27:53
от siao
Под домены для регионов: как реализовать?

Автор dm-krv

Ответов: 1
Просмотров: 807
Последний ответ 08.10.2017, 18:25:05
от cartgen
Перенос категорий на поддомены

Автор founder

Ответов: 10
Просмотров: 1097
Последний ответ 24.06.2017, 18:10:42
от Septdir
Поддомены для регионов

Автор abelhair

Ответов: 6
Просмотров: 2382
Последний ответ 29.03.2017, 16:21:55
от Septdir
Добавление регионов на сайт

Автор 12Nikonov

Ответов: 4
Просмотров: 956
Последний ответ 18.10.2016, 17:29:46
от Septdir