Как сделать динамический поддомен
Динамические поддомены с использованием nginx+apache
Этот топик — очередной топик про реализацию динамических поддоменов на сайте, коих много в интернете и даже есть пара топиков на хабре.
Проблема в том, что этот вопрос везде освещается только с точки зрения перенаправления с поддомена в папку и вся динамичность поддомена заключается в том, что ты создал папку — поддомен у тебя заработал.
Иногда же требуется решение другой проблемы — например вынос на поддомен профиля пользователя и всего функционала, который с ним связан.
Например, у нас есть готовый сайт, на котором работают профили по такому url: www.example.com/users/username, и есть всякие дополнительные возможности (например www.example.com/users/username/contact и другие страницы, связанные с этим юзером).
И мы теперь хотим вынести все, что связано с юзером, на поддомен, например username.example.com, username.example.com/contact и т.д.)
На нашем сайте стоит nginx над апачем (как и на многих других), поэтому пришлось изобретать велосипед самому, используя эту связку (nginx+ apache, благо сейчас почти на всех крупных сайтах стоит проксирующий nginx над апачем)
В общем то решение простое — т.к. на сайте уже налажена через mod_rewrite работоспособность ссылок вида www.example.com/users([a-zA-Z_]+) то было принято решение делать рерайт поддоменов через nginx.
Дополнительное условие — наш сайт работает только как ww.example.com, а example.com редиректит на www.
Соответственно осталось просто написать правило в конфиге nginx для рерайта поддоменов. Правило получилось такое это решение — не верное, использовать его не рекомендуется:
upd После публикации топика BlackWizard подсказал лучшее решение, которое отвечает всем изначальным условиям:
Таким образом, если посетитель зашел на поддомен то nginx это определяет и запрашивает из апача уже адрес вида www.example.com/users/username, а апач уже дальше разбирает все в соотвествии со своими правилами mod_rewrite.
В целом решение мне показалось довольно неплохим, готов выслушать рекомендации и критику от гуру, потому что сам я в деле настройки веб-серверов новичек, и возможно решение пригодится новичкам вроде меня.
UPDкак сделать чтобы username.example.com работал без указания всех возможных доменов в конфиге веб-сервера
Чтобы сервер корректно обрабатывал динамические поддомены, необходимо добавить одну маленькую запись в настройки DNS. Это можно сделать, используя панель управления сервером.
Просто добавьте следующую запись формата A («A record» в англоязычной версии):
*.example.com
Запись нужно добавлять после всех поддоменов (mail, smtp и т.д.)
Создание поддоменов в ISPmanager
Поддомены (субдомены) создают для разных целей. Это может быть тестовая копия сайта, размещение почтовых клиентов или приложения phpMyAdmin.
Поддомен в ISPmanager отличается от домена тем, что в поле «Имя» при добавлении пишется субдоменное имя формата «subdomain.mydomain.com».
Создание домена
Субдомен невозможно создать без добавленного домена. Вся информация по добавленным доменам в панели управления ISPManager находится в разделе «WWW-домены» ➜ «WWW».
Для создания нового можно воспользоваться кнопкой «Создать». После нажатия появится форма, в которой заполняются основные поля. После сохранения в таблице появятся данные о добавленном домене.
Способ создания поддомена
В ISPmanager поддомены создаются двумя способами.
Создание самостоятельного поддомена
Создать поддомен в ISPmanager можно так же как домен. В этом случае он будет иметь свои настройки, которые могут отличаться от главного.
Сколько поддоменов можно добавить
Поддомен, добавленный в ISPmanager (через «WWW-домены») как самостоятельный, считается отдельным сайтом. Такой поддомен будет приравнен к домену при учете числа сайтов, которые можно разместить на текущем тарифе. Например, на тарифе хостинга «Базовый», где стоит лимит до 5 сайтов, можно разместить 2 домена и 3 самостоятельных поддомена.
Как добавить
После создания поддомена дождитесь обновления DNS–записи, для работоспособности сайта. Все DNS–записи для почтовых поддоменов создаются автоматически.
Автоподдомен
Автоподдомен можно создать для домена без внесения изменений в конфигурацию. Он сохраняет все параметры основного, поэтому существуют ограничения в использовании.
Добавление автоподдомена отличается от добавления самостоятельного поддомена, в первую очередь тем, что не указывается в таблице «WWW-домены».
Автоподдомен создается путем внесения изменений в основной домен и создания папки в файловом хранилище. Это позволяет добавить неограниченное количество поддоменов.
Варианты добавления
К файлам поддомена, созданным вторым способом, основной домен имеет полный доступ.
Как добав ить автоподдомен
Если в поле «Автопподдомены» выбрано «в поддиректории домена»
Например, если имя поддомена «subdomain.mydomain.com», создается папка с наименованием «subdomain».
Если в «Автопподдомены» выбрано «в отдельной директории»
Например, если имя поддомена «test.domen.com» создается папка с наименованием «test.domen.com».
Автоподдомен будет создан.
Заключение
Для того чтобы создать поддомен, необходимо наличие созданного основного домена в панели ISPmanager.
Поддомены создаются только одним из двух способов.
В свою очередь автоподдомены могут находиться в файловом хранилище основного домена или в директории «WWW», рядом с основным.
Начни экономить на хостинге сейчас — 14 дней бесплатно!
Динамические поддомены на Denwer’e. Как заставить работать?
Не получается запустить динамические поддомены на Denwer’e. Результат:
Safari не может открыть страницу
В hosts так же пробовал внести запись:
Такая схема отлично работает на боевом сервере, но на Denwer почему-то нет. Что не так?
В Денвере ничего руками делать не надо.
После создания папки с именем домена в «home», нужно создать в ней папку «www». А в ней уже размещать файлы.
Пример:
X:\home\domain.ru\www\index.php
После этого следует перезапустить Денвер, чтобы он подхватил новый домен.
Владимир Серых: мне не нужно создавать поддомены через папки. Именно через htaccess надо, пример:
>> RewriteCond %
RewriteRule ^(.*) modules/shop/index.php?name=%1 [L]
>> Апач не умеет то, что вы хотите сделать
LOL, на боевом сервере умеет, на Denwer’e нет.
>> RewriteCond %
RewriteRule ^(.*) modules/shop/index.php?name=%1 [L]
Но не работает, так как в httpd.conf нужно прописать ServerAlias site.pro *.site.pro. Прописал на Denwer’е, но толку нет, пишет: «Веб-страница недоступна».
>> Такая схема отлично работает на боевом сервере, но на Denwer почему-то нет. Что не так?
Создание поддоменов для SEO
Приветствую, Михаил. К созданию нового поддомена и вынесению на него части информации с проекта — требуется относиться ответственно. Это связано с тем, что поддомен является для поисковой системы новым, самостоятельным сайтом и большая часть хостовых факторов (возраст, цитируемость, поведенческие метрики) для него отсчитываются с нуля. Поэтому, новый поддомен стоит создавать только тогда, когда вы уверены, что это необходимо.
В тоже время, действительно, имеется несколько типичных задач поискового продвижения, для оптимального решения которых требуется создание поддоменов.
1. Продвижение в большом числе регионов России
Для оптимального продвижении сайта в числе регионов России более 5-10, требуется создание поддоменов. Это связано с ограничениями в возможностях географической привязки проекта в Яндексе. Для некоторых сайтов, эти ограничения удается частично обойти, но, в общем случае, продвижение в регионах с помощью поддоменов является общепринятой практикой.
Осуществить быстрый поиск всех проиндексированных Яндексом поддоменов можно в один клик в рамках сервиса «Пиксель Тулс».
2. Широкая тематическая направленность ресурса
Если у проекта широкая тематическая направленность, которая и логически и с точки зрения ранжирования не умещается в рамках одного хоста, то создание независимых поддоменов является необходимым для продвижения шагом. Сюда можно отнести и ваш кейс.
Для принятия решения о выносе услуг на поддомены требуется провести анализ конкурентов в выдаче по семантическому ядру и установить, имеются ли успешные проекты, которые имеют хорошие позиции сразу по нескольким тематикам в рамках одного хоста? Если таковых нет, то, для повышения эффективности продвижения рекомендуется разносить услуги по поддоменам или полностью независимым доменам второго уровня.
При этом, размещение услуг на различных доменах второго уровня является даже приоритетным, если потенциальная аудитория двух и большего числа направлений не пересекается и у проекта нет хорошо узнаваемого бренда/домена (значимой доли прямого и брендового трафика).
Анализ проведён с помощью инструментов в сервисе Пиксель Тулс.
3. Большое число запросов, подразумевающих продвижение главной страницы
Если в семантическом ядре проекта имеется несколько тематических кластеров, каждый из которых подразумевает продвижение главной страницы, то создание поддоменов также является хорошим способом решения данной головоломки.
Подобная ситуация встречается сразу в нескольких тематиках. Более того, поддомены в данном случае решают не только задачи SEO, но и ведут к повышению конверсии. Можно изучить пример в тематике «отели» (проект nochi.com) и другие.
Анализ проведён с помощью инструментов в сервисе Пиксель Тулс.
Получено с помощью сервиса Пиксель Тулс.
После анализа принять решение о выносе ряда кластеров на поддомены, если все запросы которые подразумевают продвижение главной станицы «не помещаются» в рамках одного документа.
Организация перелинковки
К перелинковке между поддоменами предъявляется немного критериев, это:
Рекомендуется скорректировать
Удачи в работе и продвижении проекта по большому числу тематик!
Как создать поддомен на свой сайт WordPress
Как создать поддомен на сайт и затем использовать его:
— или для разгрузки основного ресурса (продающие страницы, доски объявлений, форумы), или как площадку для экспериментов, без риска для основного домена – об этом и поговорим.
Информация по упомянутым хостингам изменена — июль 2019 г.
Сделать поддомен для разгрузки основного сайта
Со временем ваш сайт разрастется, в плане разделов, страниц, статей. Появятся новые, родственные темы, которые желательно будет разместить на отдельной, но связанной с основным сайтом, площадке. Это могут быть и ваши продающие страницы, и форум по основной тематике, и доска объявлений.
Открыть поддомен как полигон для экспериментов
На поддомене вы можете сделать копию своего основного сайта – шаблон, плагины, несколько статей (можно с произвольным текстом), и использовать его для проверки новых тем (шаблонов), новых плагинов или кодов, прежде чем использовать их на главном домене. Согласитесь – удобно и практично!
Если вы будете заниматься разработкой нового ресурса (себе или на заказ) – поддомен также хорош – подбирайте шаблон, дизайн.
Не забудьте только на время экспериментов закрыть поддомен от поисковых роботов
админ/панель – Настройки – Чтение — Видимость сайта —
Рекомендовать поисковым машинам не индексировать сайт (ставим галочку).
Как создать поддомен на Sprinthost
— логин – пароль – заходим в Панель Управления
нажмите фото для увеличения
Поддомен на сайт создан
— вы можете установить на него любой (из предлагаемых хостингом) движок (CMS) – например WordPress.
Как информирует техподдержка хостинга SPRINTHOST: Поддомены (subdomains), добавленные в ПУ, отдельными сайтами не считаются. Можно создать столько поддоменов, сколько необходимо.
Как создать поддомен на TimeWeb
Готово – далее все установки CMS (WordPress), как и на главном домене
Число, созданных на TimeWeb поддоменов, также неограниченно.
Обязательно сделайте для сайта поддомен — площадку для творческих опытов.
Решили поменять шаблон, но не знаете его особенностей – испытайте на поддомене – быстро и без риска.
Понравился плагин, но еще не разобрались в настройках – осваивайте на поддомене, копии основного сайта.
Спасибо, как всегда понятно,поддомен создала уже давно, но пока ещё им не воспользовалась.
@Wladlena, значит пора начинать.
Пробуйте все новшества на поддомене — это сбережет Ваш сайт.
Я тоже давно сделала поддомен. Планировала публиковать там только кулинарные рецепты, т.е. сделать небольшой кулинарный блог. Но пока меня на два сайта не хватает. А идея с экспериментами хорошая! Спасибо!
@Надежда, со временем привыкнете и с двумя сайтами управитесь.
Классно когда есть такие люди которые могут все объяснить простым и понятным языком. У меня то же есть поддомен на основном сайте peace-around-us.ru/ но я им не пользуюсь почему то, надо попробовать.
@Надежда, если есть планы на смену шаблона — поддомен нужен. И вообще не помешает сделать копию сайта (С ДРУГИМИ СТАТЬЯМИ!) и использовать эту копию на поддомене для проверки и настройки плагинов и прочего….
Здравствуйте, Сергей.
Как всегда с удовольствием читаю Ваши статьи — пишите понятно, для людей, даете много полезной информации. Поддомен я, конечно, создала ещё когда тестировала тему, и всегда сначала на нем тестирую плагины и виджеты.
Но вот сегодня от Вас узнала, что его нужно на время экспериментов закрыть от поисковых роботов.Спасибо Вам за информацию.
@Рашида, закрыть нужно! — зачем роботам показывать свой черновик
-Поддомен — как разгрузка основного сайта
-Поддомен — как полигон для экспериментов
Как еще можно использовать поддомен? Например для раскрутки основного сайта или для заработка или для сбора подписчиков.
@Евгений, был бы поддомен, а работу найти ему можно.
@admin, Тарифный план позволяет иметь 5 поддоменов. Нет ни одного. Вот я и хочу на все 100 использовать, зря деньги плачу.
@Евгений, на СПРИНТХОСТ количество поддоменов неограничено. Только доступное дисковое пространство. А на поддомене можно разместить и сайт и просто подписные страницы и письма рассылок.
@Александр, но есть ограничение по базам данных и по сайтам.
Если брать поддомен как «новый сайт» и со своей БД — есть ограничения.
@Наталья, на БД действительно есть граничения, НО при создании поддомена, кажется, можно использовать «текущую» базу данных, т.е. базу данных основного сайта
Допустим я создала поддомен, но на нем хочу разместить сайт совершенно далекого по теме от основного сайта. Получается имя нового поддомена совсем не в тему, например zarabotai.zdorovevsem.ru. Сайт на поддомене будет о бизнесе в интернете, а основной о здоровье. Что можно придумать? Создавать новый домен? Это опять же платить за него?
Спасибо за пошаговую инструкцию по созданию поддомена. Путь не такой сложный, но где-то увидеть надо, чтобы не терять время, пока сам разберешься. Удачи.
@Александр, удачи и Вам!
Сергей, я создала поддомен и хочу разместить на нем тему по кулинарии.На основном сайте у меня есть рубрика «Едим дома». Могу ли я перенести ее на поддомен? И, как это сделать?
@Ольга, рубрику перенести конечно можно.
— убрать все статьи из этой рубрики в черновики
— выждать некоторое время (до следующей индексации страниц — видно в поиске)- подготовить поддомен
— перенести статьи на поддомен (можно копировать не текст статьи, а полностью код html статьи — быстрее)
— в меню рубрик на сайте сделать переход с этой рубрики «Едим дома» на поддомен (можно плагином, можно меню рубрик написать руками)
——————————
У Вас на сайте выяснить — почему не индексирует Яндекс…
Сергей, я попыталась перенести все статьи из рубрики «Едим дома» в черновик — пропала и сама рубрика. Испугалась, что делаю не то, и не так =(… Пришлось вернуть все на место…
***************************************************************
Есть еще один вопрос: у меня несколько статей из рубрики «Едим дома» относятся и к другим рубрикам. Как быть в этом случае?
Просто исключить рубрику «Едим дома» из этих статей? Тогда я уже не смогу их перенести на поддомен?
****************************************************************
И последнее, можно подробнее о четвертом абзаце: — в меню рубрик на сайте сделать переход с этой рубрики «Едим дома» на поддомен (можно плагином, можно меню рубрик написать руками)
@ольга, если в рубрике нет статей, она просто не видна в меню (шаблон не показывает пустую рубрику, НО она живая.
Оставьте 1 статью и рубрика в меню появится.
—————————————————
«…несколько статей из рубрики «Едим дома» относятся и к другим рубрикам…»
— если рубрика уходит на поддомен, придется выбирать — или статью оставить в «Едим дома», но убрать из других, или убрать из «Едим дома»
НО есть еще вариант — статья остается только в «Едим дома» на поддомене, а с основного сайта, с родственной статьи ставим на нее ссылку
—————————————————-
(можно плагином, можно меню рубрик написать руками)
— у меня меню «Страницы» и «Рубрики» написано руками в виджете «текст» — я в название рубрики могу вставить любую ссылку.
— есть плагин — делает переадресацию рубрик — нажимаете на название рубрики, а попадаете туда, куда сами (как админ) укажите
о плагине Category Redirect to Post or Page —










