2013-02-16 3 views
0

Я пытаюсь включить несколько доменов в мою среду Разработка, но не удается так, как я попытался ниже, и в какой момент я ошибаюсь?Как включить несколько доменов и поддоменов с сервером apache httpd


Я установил HTTPD и изменил DocumentRoot в httpd.conf, чтобы:

C:/Webserver/www 


* Я изменил Windows HOSTS файл (в Курсив хотел бы получить доступ):
Если я переключиться на 127.0.0.1 api.rotadorock адрес разрешает www /, но справа - www/rotadorock/api.

127.0.0.1      localhost 
127.0.0.1      webserver 
127.0.0.1/rotadorock/ecommerce rotadorock 
127.0.0.1/rotadorock/api  api.rotadorock 
127.0.0.1/rotadorock/ecommerce ecommerce.rotadorock 
127.0.0.1/rotadorock/mobile  mobile.rotadorock 
127.0.0.1/rotadorock/sistema sistema.rotadorock 
127.0.0.1/rotadorock/social  social.rotadorock 

* Update (Windows HOSTS файл)

Я удалил файл хостов изменения я уже упоминал выше, потому что, как сказал @Volker Бирк не нужны. Но даже в этом случае все еще не может получить доступ как желание (api.rotadorock/или localhost/api.rotadorock/и должен указывать на C:/Webserver/www/rotadorock/api). Что может быть неправильным?


И, наконец, изменил HTTPd-vhost.conf для:

NameVirtualHost webserver:80 

<Directory "C:/Webserver/www"> 
    Options All 
    AllowOverride All 
    Order allow,deny 
    Allow from all 
</Directory> 

<VirtualHost *:80> 
    ServerName localhost 
    DocumentRoot "c:/Webserver/www" 
    ServerAlias localhost 
    ErrorLog "logs/httpd-error.log" 
    CustomLog "logs/httpd-access.log" common 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName webserver 
    DocumentRoot "c:/Webserver/www" 
    ServerAlias webserver 
    ErrorLog "logs/httpd-error.log" 
    CustomLog "logs/httpd-access.log" common 
</VirtualHost> 

<VirtualHost rotadorock:80> 
    ServerName rotadorock 
    DocumentRoot "c:/Webserver/www/rotadorock/ecommerce" 
    ServerAlias rotadorock 
    ErrorLog "logs/httpd-error.log" 
    CustomLog "logs/httpd-access.log" common 
</VirtualHost> 

<VirtualHost api.rotadorock:80> 
    ServerName api.rotadorock 
    DocumentRoot "c:/Webserver/www/rotadorock/api" 
    ServerAlias api.rotadorock 
    ErrorLog "logs/httpd-error.log" 
    CustomLog "logs/httpd-access.log" common 
</VirtualHost> 

<VirtualHost ecommerce.rotadorock:80> 
    ServerName ecommerce.rotadorock 
    DocumentRoot "c:/Webserver/www/rotadorock/ecommerce" 
    ServerAlias ecommerce.rotadorock 
    ErrorLog "logs/httpd-error.log" 
    CustomLog "logs/httpd-access.log" common 
</VirtualHost> 

<VirtualHost mobile.rotadorock:80> 
    ServerName mobile.rotadorock 
    DocumentRoot "c:/Webserver/www/rotadorock/mobile" 
    ServerAlias mobile.rotadorock 
    ErrorLog "logs/httpd-error.log" 
    CustomLog "logs/httpd-access.log" common 
</VirtualHost> 

<VirtualHost sistema.rotadorock:80> 
    ServerName sistema.rotadorock 
    DocumentRoot "c:/Webserver/www/rotadorock/sistema" 
    ServerAlias sistema.rotadorock 
    ErrorLog "logs/httpd-error.log" 
    CustomLog "logs/httpd-access.log" common 
</VirtualHost> 

<VirtualHost social.rotadorock:80> 
    ServerName social.rotadorock 
    DocumentRoot "c:/Webserver/www/rotadorock/social" 
    ServerAlias social.rotadorock 
    ErrorLog "logs/httpd-error.log" 
    CustomLog "logs/httpd-access.log" common 
</VirtualHost> 

ответ

0

Наконец решить эту проблему. И я мог бы просто использовать файл хостов Windows и httpd-vhosts.conf httpd вместе.

Позвольте мне привести пример того, что было сделано для обеспечения доступа к нескольким субдоменам локально. В Windows хостов файл для добавления, для каждого домена и субдоменов вы хотите что-то вроде этого:

127.0.0.1 api.rotadorock #my subdomain 
127.0.0.1 rotadorock #my domain 

а затем HTTPD-виртуальных доменов, Apache HTTPD:

# Accessing the API 
<VirtualHost 127.0.0.1> 
    DocumentRoot "C:/Webserver/www/rotadorock/api" 
    ServerName api.rotadorock 
    ServerAlias ​​api.rotadorock 

    <Directory "C:/Webserver/www/rotadorock/api"> 
     All Options Includes Indexes 
    </ Directory> 
</VirtualHost> 

# Accessing the domain 
<VirtualHost 127.0.0.1> 
    DocumentRoot "C:/Webserver/www/rotadorock/" 
    ServerName rotadorock 
    ServerAlias ​​*.rotadorock 

    <Directory "C:/Webserver/www/rotadorock/"> 
     All Options Includes Indexes 
    </Directory> 
</VirtualHost> 

И тогда, как я мог бы получить доступ к апи .rotadorock/и rotadorock/локально. Я пробовал все пути без файла hosts. Но просто нужно использовать его. Если кто-то может объяснить мне, как это должно было быть сделано, не нужно было бы использовать хосты, я был бы благодарен.

1

Вам не нужно хост-файл. Посмотрите в документации:

http://httpd.apache.org/docs/2.2/en/vhosts/name-based.html

+0

Хорошо, просто уточнить, когда вы используете файл hosts? Удалены изменения хостов, но до сих пор не удается получить доступ к http: //api.rotadorock или http: //localhost/api.rotadorock. – Maykonn

+0

Я пробовал все пути без файла hosts. Но просто нужно использовать его. – Maykonn

+1

Вкратце: никогда не используйте файл hosts. Лучше использовать DNS. – 2013-02-16 22:39:58