Apache2: получение неправильных корневых каталогов - PullRequest
0 голосов
/ 07 января 2012

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

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

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

Тогда другой конфиг выглядит примерно так:

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

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

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

Спасибо.

Ответы [ 3 ]

1 голос
/ 07 января 2012

Разные сайты не могут совместно использовать IP и комбинацию портов, если вы не используете имя на основе виртуальных хостов .Вот пример из руководства:

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>, найденным в вашей конфигурации.

1 голос
/ 07 января 2012

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

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

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

httpd restart

(или что-то подобное .. /etc/init.d/apache2 restart или lighttpd, если вы используете это)

0 голосов
/ 07 января 2012

Для сайта1:

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

Для сайта2:

<VirtualHost *:80>
   ServerName blah.domain.com
   DocumentRoot /var/www/thedomainname
   ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...