Чтение RSS каналов

Статьи

Статьи

Категории

Устройство
Устройство
Обучающее руководство
Темы
Темы
Оформление и компоненты дизайна
Модули
Модули
Использование и изготовление модулей
Блоки
Блоки
Использование и изготовление блоков
Документация
Документация
Описание функций и модулей
Информация
Информация
Полезная информация для администратора

Общее количество: 59 страниц в 8 категориях

Автоматические поддомены на VPS, Dedicated

Полезная информация для администратора Наболевший вопрос который уже ни раз поднимался и еще будет подниматься не только на нашем форуме но и в интернете. Часто на серьезных интернет проектах возникает необходимость создания нескольких сотен поддоменов. Создание их вручную займет не мало времени. Но есть способ сделать все намного проще.

Для того чтобы все настроить нажно проделать всего три шага:

• Настроить зону в named-е
• Настроить вхост в apach-е
• Сделать правило через mod_rewrite

1. Первым делом нам нужно добавить “A” запись в фаил зоны: * 14400 IN A 192.168.0.1

Где * будет означать, что запись будет резолвить абсолютно любой поддомен, 14400 время обновления зоны и 192.168.0.1, это ip адрес куда будут направленны поддомены.

PS.: Стоит учитывать что named обрабатывает записи последовательно и любая запись добавленная после * не будет обработана.

2. Теперь переходим к конфигурировании веб сервера. Тут все проще, достаточно добавить директиву ServerAlias и все будет работать.

ServerAlias*.domen.ru
ServerAlias *.domen.ru

Где * будет означать что вхост обрабатывает все поддомены и все они будут направлены в один и тот же DocumentRoot, а domen.ru это наш домен.

PS.: Апач так же как и named читает конфигурационный фаил последовательно, поэтому любой поддомен добавленный ниже не будет обработан сервером.

3. Нам осталось создать правила mod_rewrite чтобы поддомен был направлен в папку домена. Создаем .htaccess следующего содержания:

RewriteCond %{HTTP_HOST} !^$
RewriteCond %{HTTP_HOST} !^(www\.)?domen\.ru$ [NC]
RewriteCond %{HTTP_HOST}---%{REQUEST_URI} ^([^\.]+)\.domen\.ru---/([^/]+)? [NC]
RewriteCond %1---%2 !^(.*)---\1$ [NC]
RewriteCond %{DOCUMENT_ROOT}/%1/ -d
RewriteRule ^(.*)?$ %1/$1 [QSA,PT]


Теперь любая папка например http://domen.ru/slaed/ будет доступна по адресу http://slaed.domen.ru/
Но такой вариант не всегда приемлем, и иногда нужно чтобы поддомены находились в вложенной папке скажем в http://domen.ru/sub/slaed/. Для этого делаем другой .htaccess:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^(.+)\.domen\.ru$ [NC]
RewriteCond %{HTTP_HOST} !^www\.domen\.ru$ [NC]
RewriteCond %{REQUEST_URI} !^/sub
RewriteRule ^(.*) %{HTTP_HOST}$1
RewriteRule ^(.*)\.domen\.ru(.*) /sub/$1$2
RewriteRule ^sub\.(.*) /sub/$1


Практически все панели управления позволяют сделать подобные вещи через внутренние интерфейсы, так что проблем быть не должно.
3.42
70
Назад

Дополнительно по данной категории

Комментарии

12.03.2010 19:32:28
НЕ плохое решение .. определило мои поиски
10.08.2009 10:05:02
Да, я тоже давно искал.
14.06.2009 00:31:26
Спасибо давно искал это решение...
26.11.2008 09:49:18
тут назреваю вопрос у нуба в этом деле где и в каких папках все это настраиваеться ??
Настроить зону в named-е
Настроить вхост в apach-е

Вроде как с остальным понятно но вот эти 2 пункта я не как не пойму где это настраивать
10.08.2008 03:09:25
Спасибо большое...
Вы не можете отправить комментарий анонимно, пожалуйста войдите или зарегистрируйтесь.
Хотите опробовать SLAED CMS в действии?

Технологии

PHP MySQL HTML 5 CSS 3 jQuery jQuery UI

Контакты

  • D-49179, Deutschland
    Ostercappeln, Im Siek 6
  • +49 176 61966679

  • https://slaed.net
Идеи и предложения
Обратная связь