Topic: Автоподдомены: как создать с помощью .htaccess
Если ваш хостинг не позволяет создать много поддоменов (субдоменов), то можно настроить файл .htaccess для создания неограниченного числа доменов. Мы организуем с вами своего рода автоподдомены с помощью всего одного файла .htaccess и одной папки с именем subdomains в корневом каталоге сайта.
Как правило, почти нет в сети интернет сто процентного варианта, который удовлетворил бы все наши пожелания. Поэтому, если что то не заработало с первого раза, то постарайтесь разобраться в чем причина.
Итак, давайте для начала сделаем поддомены на свежем сайте, т.е. готовой структуры пока нет и можно делать все что угодно.
Создайте файл .htaccess в корне сайта и впишите в него следующий код:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} !^www\.panbb\.(org|ru)$
RewriteCond %{HTTP_HOST} (www\.)?(.*)\.panbb\.(org|ru)$
RewriteCond %{REQUEST_URI} !subdomains/
RewriteRule ^(.*)$ subdomains/%2/$1
Теперь подробно остановимся на каждом пункте.
Для запуска mod_rewrite используется команда RewriteEngine on, если ее закомментировать, то весь код перестанет работать, часто это бывает очень полезно.
RewriteBase указывает на использование текущей папки.
RewriteCond устанавливает правила, в зависимости от которых будет или не будет произведена замена адреса. В первом случае проверяется является ли поддомен с названием www, естественно его перенаправлять не нужно, поэтому перед строкой стоит восклицательный знак, обозначая отрицание. В скобках указано com|ru, используется только если вы имеете два одинаковых домена в разных зонах и они являются псевдонимами (алиасам) другу друга. Если вы используете один сайт, то запись будет такой:
RewriteCond %{HTTP_HOST} !^www\.panbb\.org$