2014-12-02 5 views
0

Мои виртуальных доменов являются:Как запустить несколько проектов на Apache с помощью виртуальных хостов?

# for localhost to work properly 
<VirtualHost *:1983> 
    ServerAdmin [email protected] 
    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> 

И хозяева подам окна имеет следующие отображения

#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

Я также включил 'vhost_alias_module' для wamp уже по этим ссылкам: - См. Больше на: 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-setup-virtual-hosts-using-wamp (возможно, из области использования) –

ответ

-3

Благодаря ответ анонимного @ user4311956 для указывая на то, что NameVirtualHost директива имеет важное значение.

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

здесь код httpd-vhosts.conf файл, который работал магии:

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

# for localhost to work properly 
<VirtualHost *:1983> 
    ServerAdmin [email protected] 
    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 Ответим указал мне в правильном направлении.

+0

Параметр '' вам нужно только один раз. Фактически, если вы используете Apache 2.4.x, это уже не действительный параметр. – RiggsFolly

+0

** Mine Сервер работает под управлением: ** Windows 7 Ultimate Apache версии: 2.2.22 PHP Версия: 5.4.3 однако мне нужно было разработать способ настроить свой локальный сервер для запуска нескольких проектов через Именованный виртуальный хост для каждого проекта. Поэтому я выполнил то, что искал. Поэтому не имеет значения, какая конфигурация рекомендуется, а какая нет. Я тестировал столько конфигураций перед отправкой в ​​StackOveflow. –

+0

- С этим «конфигом», указанным выше, я могу получить доступ к проекту 'dtk' по url' http: // localhost: 1983/designertoolkit/', а также с этим виртуальным хостом' http://dtk.dev: 1983' –

2

Вам нужно использовать 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 [email protected] 
    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> 
+0

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

+0

Вы проверили конфигурацию, которую я разместил? Я очень уверен, что так будет работать. – LucasF

+0

Если вы используете мою конфигурацию, вам не нужно добавлять директиву 'NameVirtualHost' для каждого vhost. 'NameVirtualHost' будет определять данный IP-адрес для использования с именованными vhosts. См. Здесь: http://httpd.apache.org/docs/current/mod/core.html#namevirtualhost Использование имен DNS в 'NameVirtualHost' не рекомендуется. – LucasF

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