Как запустить несколько проектов на Apache с использованием виртуальных хостов?

Мои Vhosts являются:

# for localhost to work properly
<VirtualHost *:1983>
ServerAdmin admin@localhost
DocumentRoot "d:/wamp/www"ServerName localhost
</VirtualHost>
# - See more at: http://yogeshchaugule.com/blog/2014/how-setup-virtual-hosts-wamp#sthash.zVhOHBlJ.dpuf
# - @: http://www.techrepublic.com/blog/smb-technologist/create-virtual-hosts-in-a-wamp-server/
# - @: http://www.kristengrote.com/blog/articles/how-to-set-up-virtual-hosts-using-wamp (maybe out of usable scope)

# afm : Agile Farm Manager
#<VirtualHost *:1983>
#    DocumentRoot "D:/projects/afm/Code"#    ServerName  dafm.dev
#    <Directory "D:/projects/afm/Code">
# Order allow,deny
# Allow from all
# AllowOverride All
#    </Directory>
#</VirtualHost>

# mrs : Meeting Request System
<VirtualHost mrs.dev:1983>
DocumentRoot "D:/wamp/www/mrs_site/mrs"ServerName  mrs.dev
ServerAlias mrs.dev
<Directory "D:/wamp/www/mrs_site/mrs">
Order allow,deny
Allow from all
AllowOverride All
</Directory>
</VirtualHost>

# dtk : Kit Designer
<VirtualHost dtk.dev:1983>
DocumentRoot "D:/wamp/www/designertoolkit/"ServerName  dtk.dev
ServerAlias dtk.dev
<Directory "D:/wamp/www/designertoolkit/">
Order allow,deny
Allow from all
AllowOverride All
</Directory>
</VirtualHost>

И файл hosts моего windows имеет следующие сопоставления

#VIRTUAL DOMAINS

127.0.0.1   dafm.dev
127.0.0.1   mrs.dev
127.0.0.1   dtk.dev

Мой настроенный порт: 1983, поэтому я получаю доступ к wamp как: http://localhost:1983/

или же http://mrs.dev:1983/ идет в мой текущий проект. но другие мои проекты больше не доступны.

например, когда я иду в dtk.dev:1983/ идет в тот же проект http://mrs.dev:1983/ за каждый действительный запрос к серверу wamp.

Мне нужно запустить несколько проектов на WAMP одновременно. В чем проблема с виртуальными хостами?

пожалуйста помоги

0

Решение

Вам нужно использовать NameVirtualHost. Смотрите руководство Apache: http://httpd.apache.org/docs/current/vhosts/name-based.html

Как это:

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>

Может быть, это работает:

NameVirtualHost *:1983

# for localhost to work properly
<VirtualHost *:1983>
ServerAdmin admin@localhost
DocumentRoot "d:/wamp/www"ServerName localhost
</VirtualHost>

# mrs : Meeting Request System
<VirtualHost *:1983>
DocumentRoot "D:/wamp/www/mrs_site/mrs"ServerName  mrs.dev
ServerAlias mrs.dev
</VirtualHost>

# dtk : Kit Designer
<VirtualHost *:1983>
DocumentRoot "D:/wamp/www/designertoolkit/"ServerName  dtk.dev
ServerAlias dtk.dev
</VirtualHost>

<Directory "D:/wamp/www/designertoolkit/">
Order allow,deny
Allow from all
AllowOverride All
</Directory>

<Directory "D:/wamp/www/mrs_site/mrs">
Order allow,deny
Allow from all
AllowOverride All
</Directory>
2

Другие решения

Спасибо анонимному пользователю @ user4311956 за указание на то, что NameVirtualHost директива важна.

Но с моим собственным тестированием я обнаружил, что если я упомяну NameVirtualHost директива перед каждым виртуальным хостом, который я создаю, работает, иначе не работает.

здесь код для httpd-vhosts.conf файл, который работал волшебство:

#
# Use name-based virtual hosting.
#
NameVirtualHost *:1983

# for localhost to work properly
<VirtualHost *:1983>
ServerAdmin admin@localhost
DocumentRoot "d:/wamp/www"ServerName localhost
</VirtualHost>
# - See more at: http://yogeshchaugule.com/blog/2014/how-setup-virtual-hosts-wamp#sthash.zVhOHBlJ.dpuf
# - @: http://www.techrepublic.com/blog/smb-technologist/create-virtual-hosts-in-a-wamp-server/
# - @: http://www.kristengrote.com/blog/articles/how-to-set-up-virtual-hosts-using-wamp (maybe out of usable scope)

# afm : Agile Farm Manager
#<VirtualHost *:1983>
#    DocumentRoot "D:/projects/afm/Code"#    ServerName  dafm.dev
#    <Directory "D:/projects/afm/Code">
# Order allow,deny
# Allow from all
# AllowOverride All
#    </Directory>
#</VirtualHost>
NameVirtualHost mrs.dev:1983
# mrs : Meeting Request System
<VirtualHost *:1983>
DocumentRoot "D:/wamp/www/mrs_site/mrs"ServerName  mrs.dev
</VirtualHost>
NameVirtualHost dtk.dev:1983
# dtk : Kit Designer
<VirtualHost *:1983>
DocumentRoot "D:/wamp/www/designertoolkit/"ServerName  dtk.dev
</VirtualHost>

Еще раз спасибо за ответ @ user4311956, который указал мне правильное направление.

-3

По вопросам рекламы [email protected]