2013-04-10 3 views
1

У меня есть Apache2, это корень документа структура:Apache хоста по умолчанию

/var/www/html 
---index.html 
---example.com 
------/index.html 

Я хочу, чтобы все запросы к my-site.com, чтобы указать на example.com/index.html и все другие запросы, чтобы подавать from /var/www/html.

Вот мой конфиг:

<VirtualHost _default_:80> 
    DocumentRoot /var/www/html 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName my-site.com 
    DocumentRoot /var/www/html/example.com 
</VirtualHost> 

Но все запросы обслуживаются из Apache корня документа.

Спасибо за любую помощь.

+0

Я считаю, что у Apache есть один корень документа, я мог ошибаться. Если вы хотите, чтобы mysite.com служил из своего подкаталога, чем создайте псевдоним для mysite, так что http: // localhost: 80/mysite даст вам содержимое mysite, тогда как http: // localhost: 80/вытащит из каталога «var/www/html». HTH –

ответ

1

Вам нужна директива NameVirtualHost где-то в вашей конфигурации перед вторым виртуальным хостом.

<VirtualHost _default_:80> 
    DocumentRoot /var/www/html 
</VirtualHost> 

NameVirtualHost *:80 

<VirtualHost *:80> 
    ServerName my-site.com 
    DocumentRoot /var/www/html/example.com 
</VirtualHost> 
+0

Спасибо, но Apache все еще обслуживает ВСЕ запросы от/var/www/html –

+0

Исправлено, thnx, нужно поставить NameVirtualHost *: 80 в верхней части объявления виртуального хоста. –

Смежные вопросы