Настройка динамического виртуального хоста (Apache2 в Ubuntu) - PullRequest
2 голосов
/ 29 января 2012

Я хочу настроить один виртуальный хост, который может динамически обрабатывать все запросы на основе имени хоста, используемого для доступа к нему.Если% {HTTP_HOST} можно использовать в DocumentRoot, это, вероятно, именно то, что я хочу:

<VirtualHost *:80>
    ServerAdmin me@example.com

    DocumentRoot /var/www/live/%{HTTP_HOST}/public
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/live/%{HTTP_HOST}/public>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

    # Possible values include: debug, info, notice, warn, error, crit, alert, emerg.
    LogLevel warn
    ErrorLog /var/www/live/%{HTTP_HOST}/logs/error.log
    CustomLog /var/www/live/%{HTTP_HOST}/logs/access.log combined
</VirtualHost>

... к сожалению,% {HTTP_HOST} не разрешен в DocumentRoot (Warning: DocumentRoot [/var/www/live/%{HTTP_HOST}/public] does not exist).Как еще я могу достичь своей цели?

Обновление: Я подумал о том, чтобы указать универсальный vhost на один каталог и иметь .htaccess, использующий mod_rewrite для динамического выбора пути, но (честно) Я изможден.Я попробую это снова утром, но в то же время, если у кого-то есть хорошие идеи, я бы хотел их услышать!Спасибо!

Ответы [ 2 ]

3 голосов
/ 18 июля 2012

Может быть, вы можете попробовать это решение: "Apache: динамические виртуальные хосты"

3 голосов
/ 02 февраля 2012

Официальные методы достижения динамических виртуальных хостов описаны в документации Apache:

http://httpd.apache.org/docs/2.0/vhosts/mass.html

...