Да, это возможно:
Шаг 1: Настройка подстановочного знака DNS
Вы должны добавить запись A , которая указывает на IP-адрес вашего сервера:
*.example.com. IN A 192.168.1.1
Шаг 2: настройка apache VirtualHost
<VirtualHost *>
ServerName www.example.com
ServerAlias *.example.com
DirectoryIndex index.html
DocumentRoot /home/www/www.example.com/htdocs
....
</VirtualHost>
Обратите внимание на важную строку: ServerAlias *.example.com
. Это сообщит Apache, что любой хост с суффиксом .example.com будет соответствовать этому виртуальному хосту.
Шаг 3: Настройка правил перезаписи
Вы должны добавить эти строки в файл .htaccess
, расположенный в корневой веб-папке (например, /home/www/www.example.com/htdocs
):
RewriteEngine on
RewriteCond %{http_host} .
RewriteCond %{http_host} !^www.example.com [NC]
RewriteCond %{http_host} ^([^.]+)\.example.com [NC]
RewriteRule ^(.*) http://www.example.com/%1/ [R=301,L,QSA]
Таким образом, запрос на foo.example.com
перенаправит посетителей на example.com/foo
и так далее. Удачи.
(Ссылка:
http://www.debian -administration.org / Articles / 358 )