Без настройки dns не обойтись , надо будет прописать *.вашсайт.ру на основной сайт и тогда все поддомены будут ломиться в одно место
, а вот там уже htaccess прописать реврайт на нужную подпапку (как сделать переадресацию 301 в комменты)
Настройка прозрачной переадресации в .htaccess
Требование:
Необходимо сделать переадресацию всех поддоменов, кроме www в подпапку, но при этом путь оставить как было в запросе. То есть в адресе браузера будет написано forum.primer.ru, а контент будет выводиться с адреса primer.ru/Subdomains/forum/
Решение:
RewriteEngine On
RewriteBase /
RewriteCond %{ENV:REDIRECT_SUBDOMAIN} =""
RewriteCond %{HTTP_HOST} ^(www\.)?([a-z0-9][-a-z0-9]+)\.primer\.ru(:80)?$ [NC]
RewriteCond %{HTTP_HOST} !^www\.primer\.ru
# RewriteCond %{DOCUMENT_ROOT}/Subdomains/%2 -d
RewriteRule ^(.*) /Subdomains/%2/$1 [E=SUBDOMAIN:%2,L]
RewriteRule ^ - [E=SUBDOMAIN:%{ENV:REDIRECT_SUBDOMAIN},L]
(закомментированная строка проверяет существование папки домена перед переходом, меня устраивает 404 ошибка, поэтому закомментировано)