2013-02-16 47 views
0

我試圖在我的環境中啓用多個域開發,但我沒有成功,我在下面嘗試的方式,在哪一點上我錯了?如何使用Apache httpd服務器啓用多個域和或子域


我安裝httpd和httpd.conf中改變的DocumentRoot:

C:/Webserver/www 


*我改變了Windows主機文件(斜體想訪問):
如果我切換到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 

*更新(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> 

再這樣,我可以訪問API .rotadorock /和rotadorock /本地。我嘗試了所有沒有hosts文件的方式。但只是要使用它。如果有人能向我解釋應該怎麼做,那麼就不需要使用主機,我會很感激。

1

你不需要hosts文件。看看到的文檔:

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

+0

好的,只是爲了澄清,當你使用主機文件?刪除了主機的更改,但仍無法訪問http://api.rotadorock或http://localhost/api.rotadorock。 – Maykonn 2013-02-16 20:20:36

+0

我嘗試了所有沒有hosts文件的方法。但只是要使用它。 – Maykonn 2013-02-16 22:27:39

+1

總之:永遠不要使用hosts文件。更好地使用DNS。 – 2013-02-16 22:39:58

相關問題