четверг, 8 октября 2009 г.

apache и виртуальные хосты

У apache есть интересная особенность — если в качестве имени виртуального хоста прописаны wildcard domains (т.е. ServerName *.example.org), то просто так создать еще один виртуальный хост (скажем, foo.example.org) уже не получится — apache будет просто его игнорировать, и перенаправлять все запросы на *.example.org.

Для решения проблемы в конфигурации apache все нужно оставить как есть (разве что удалить виртуальный хост foo.example.org), а в .htaccess, находящимся, разумеется, в DocumentRoot прописать следующее:

RewriteCond %{HTTP_HOST} ^(foo)\.example\.org [NC]
RewriteRule (.*) %1/$1 [L,QSA]
Данное правило будет перенаправлять все запросы вида http://foo.example.org/index.html в подпапку foo в DocumentRoot виртуального хоста.

Комментариев нет:

Отправить комментарий