2012-01-06 2 views
0

У меня небольшая проблема с apache. Это, наверное, что-то настолько незначительное, что я просто смотрю на него. Это сценарий. У меня есть настройка Ubuntu 10.04 с двумя веб-сайтами. Прежде всего, у меня был один сайт, и я обратился к нему через IP-адрес. Я просто добавил второй сайт, этот с доменным именем, и я создал новый файл в доступных каталогах. со ссылкой на каталог с поддержкой сайтов.Apache2: Получение неправильных корневых каталогов

Первый сайт (один я доступ через IP) конфигурации выглядит примерно так:

#Default 
<VirtualHost *:80> 
    DocumentRoot /var/www 
......etc 

Тогда другой конфигурации является чем-то вроде этого:

#Secondary 
<VirtualHost TheDomainName.com:80> 
    DocumentRoot /var/www/thedomainname 
.......etc 

Если вы, ребята, нужно мне опубликуйте все файлы конфигурации. Почему запрос на IP-адрес попадает в конфигурацию DomainName? Это потому, что они идентичны IP-адресам? Как я различаю эти два?

Если я попытаюсь установить ip-адрес в первом «Default» config вместо «*», этот сайт работает только, и я не могу добраться до другого «Вторичного» сайта.

Спасибо.

ответ

0

Для: Сайта 1

<VirtualHost *:80> 
    ServerName oink.domain.com 
    DocumentRoot /var/www 
    ... 

Fo г site2:

<VirtualHost *:80> 
    ServerName blah.domain.com 
    DocumentRoot /var/www/thedomainname 
    ... 
+0

Трюк - это директивы ServerName (и ServerAlias, если вы хотите больше псевдонимов для того же виртуального хоста). Определенный первый виртуальный хост будет поймать все для всех других сайтов/hostnames/и т. Д. указал на него. –

+0

OK Спасибо, я использовал доменное имя во второй директиве . Я использую * для обоих сейчас и вместо этого устанавливаю ServerName/ServerAlias. Спасибо за помощь! –

1

Вы используете ServerName и ServerAlias ​​в своей директиве виртуального хоста?

<VirtualHost *:80> 
    ServerName www.domain.com 
    ServerAlias domain.com domain.net www.domain.net 

Другая вещь, и вы, вероятно, делают это, но перезапуск Apache после внесения изменений

рестарт HTTPd

(или что-то подобное .. /etc/init.d/apache2 перезагружать или Lighttpd, если вы используете это)

1

Различные сайты не могут совместно использовать комбинацию IP и порт, если вы не используете name based virtual hosts. Пример из руководства заключается в следующем:

NameVirtualHost *:80 

<VirtualHost *:80> 
ServerName www.domain.tld 
ServerAlias domain.tld *.domain.tld 
DocumentRoot /www/domain 
</VirtualHost> 

<VirtualHost *:80> 
ServerName www.otherdomain.tld 
DocumentRoot /www/otherdomain 
</VirtualHost> 

При использовании этой функции, неизвестные доменные имена отображаются на первые <VirtualHost> найденных в конфигурации.

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