Несколько доменов на одном сервере Apache (WAMP)

У меня есть один IP-адрес на моем sv, и я хочу настроить два домена на одном сервере Apache с другим DocumentRoot. Вот что я получил в httpd-vhosts.conf

<VirtualHost *:80>
    DocumentRoot "C:\wamp\www\mail"
    ServerName mail.A.pl
</VirtualHost>

<VirtualHost *:80>
    ServerName B.eu
    DocumentRoot "c:\wamp\www\B"
</VirtualHost>

<VirtualHost *:80>
    ServerName A.pl
    DocumentRoot "c:\wamp\www"
</VirtualHost>

Даже когда я пытаюсь загрузить страницу: http://www.A.pl или www.B.eu, B.eu или A.pl, она загружает mail.A.pl. Что я делаю неправильно?

ИЗМЕНЕНО

Вот новый httpd-vhost, теперь он загружает правильные страницы, но f.e. для A.pl не показывает никаких изображений, а на mail.A.pl не хочет отправлять данные POST:

NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "C:\wamp\www\mail"
ServerAlias mail.A.pl
    ServerName mail.A.pl
</VirtualHost>
NameVirtualHost *:80
<VirtualHost *:80>
    ServerName B.eu
    ServerAlias *.B.eu
    DocumentRoot "c:\wamp\www\B"
</VirtualHost>
NameVirtualHost *:80
<VirtualHost *:80>
    ServerName A.pl
    ServerAlias A.pl
    DocumentRoot "c:\wamp\www"
</VirtualHost>

EDIT2 Спасибо вам обоим за помощь.

Я только что переключил первый VirtualHost на последний, и таинственность начала работать: O


person Disa    schedule 20.12.2012    source источник


Ответы (2)


Я думаю, вам нужно иметь несколько вещей.

1) Раскомментируйте строку Virtual hosts в файле конфигурации Apache, чтобы она включала httpd-vhosts.conf. В OSX это:

# Virtual hosts
Include /Applications/MAMP/conf/apache/extra/httpd-vhosts.conf

2) Поместите необходимые строки в файл хостов (http://en.wikipedia.org/wiki/Hosts_(file)):

127.0.0.1 mail.A.pl
127.0.0.1 A.pl
127.0.0.1 B.pl
127.0.0.1 every.A.pl
127.0.0.1 subdomain.A.pl
127.0.0.1 needs-a-line.A.pl

На самом деле ServerAlias может идти, он вам не нужен для поддоменов, он нужен только для похожих «основных» доменов.

Ваш httpd-vhosts.conf файл в порядке.

Почему не работают изображения и сообщения POST, я не знаю. Это не имеет ничего общего с этим хост-файлом. Возможно с другим .htaccess файлом.

person Tom de Boer    schedule 20.12.2012
comment
Я его раскомментировал, также домен перенаправлен на мой сервер, я их купил, просто поменял настоящее имя на A и B - person Disa; 20.12.2012
comment
Что-то еще на вашем сервере, вероятно, не так. Возможно, у вас есть еще .htaccess файлы для изображений с истекшим сроком действия? Я думаю, вам нужно рассказать нам больше о конфигурации вашего сервера и запущенных на нем приложениях. Может быть, вы только что допустили опечатку в папке <form>, которая отправляет сообщение? Или в <base href=""/> вашего приложения? - person Tom de Boer; 20.12.2012

Вам необходимо сопоставить NameVirtualHost с IP-адресом 127.0.0.1 для сопоставления нескольких виртуальных хостов.

Например:

NameVirtualHost 127.0.0.1
<VirtualHost 127.0.0.1>
    ServerName localhost
    DocumentRoot 'C:\wamp\www'
</VirtualHost>
<VirtualHost 127.0.0.1>
    ServerName myclient.local
    DocumentRoot 'C:\wamp\www\ClientsMyClient'
</VirtualHost>

Прочтите это руководство.

person Viral Patel    schedule 20.12.2012
comment
Когда я использовал NameVirtualHost со своим IP-адресом сервера, он работал, но другие ресурсы, такие как изображения, не загружались ни в одном из этих доменов. - person Disa; 20.12.2012