2011-10-27 42 views
0

我想獲得動態虛擬主機的工作,遵循文檔,但它不工作。VirtualDocumentRoot和域總是路由到本地主機 - 爲什麼?

這些都是從我的主機的域文件:

127.0.0.1 walestourism.local.co.uk 
127.0.0.1 www.walestourism.local.co.uk 
127.0.0.2 walestourism.local.co.uk 
127.0.0.2 www.walestourism.local.co.uk 

,這是從httpd.conf中:

NameVirtualHost 127.0.0.2 
<VirtualHost 127.0.0.2> 
ServerName www.walestourism.local.co.uk 
ServerAlias walestourism.local.co.uk 
DocumentRoot /www/walestourism.local.co.uk 
ScriptAlias /cgi-bin/ /www/walestourism.local.co.uk/cgi-bin 
</VirtualHost> 

在我所有的其他的它總是*:80爲虛擬主機部分的上述代碼。

我有這樣的代碼在我的httpd.conf:

<Directory C:/www/vhosts> 
Order Deny,Allow 
Allow from all 
AllowOverride All 
</Directory> 
<Directory C:/www/vhosts1> 
Order Deny,Allow 
Allow from all 
AllowOverride All 
</Directory> 
<Directory C:/www/vhosts.www> 
Order Deny,Allow 
Allow from all 
AllowOverride All 
</Directory> 
<Directory C:/www/test2> 
Order Deny,Allow 
Allow from all 
AllowOverride All 
</Directory> 
<Directory C:/www/> 
Order Deny,Allow 
Allow from all 
AllowOverride All 
</Directory> 

我應該如何解決這個錯誤,因爲當我鍵入域名在需要我的http://localhost內容?這是我嘗試使用動態虛擬主機添加域時遇到的基本問題。另外,如果我將瀏覽器指向「http:// localhost /」,我會得到默認的「It Works!」。頁面,所以我知道我的服務器正在運行,這絕對是與虛擬主機配置有關的。

我檢查了我的錯誤日誌 - 因此沒有錯誤,所以爲什麼每個域都直接指向本地主機,即使有一個爲它們配置的文件夾(/ www /在這種情況下是C:/ www,我的Apache/webserver的目錄)。

我是新來的這個地區的阿帕奇,儘管一個下午的谷歌搜索,我不知道如何解決這個問題。

我決定嘗試這樣做,以避免每次我添加一個新的虛擬主機進行測試,但我做了什麼錯誤的cmd> httpd -k重新啓動?

我在Apache 2.2上,使用Windows 7,PHP 5.28 [在此提及規範]。

我該怎麼辦?

所有建議非常感謝!

回答

0

由於您使用的是基於命名的虛擬主機,請不要使用127.0.0.2 ...只是將它全部保留爲127.0.0.1 ...如果沒有,請檢查apache的error_log(在您的httpd.conf中定義)麻煩拍攝它失敗的原因。

此外,得到的Apache2在Windows上工作與虛擬主機之前,你得到PHP去......

http://httpd.apache.org/docs/2.0/vhosts/examples.html

# Ensure that Apache listens on port 80 
Listen 80 

# Listen for virtual host requests on all IP addresses 
NameVirtualHost *:80 

<VirtualHost *:80> 
DocumentRoot /www/example1 
ServerName www.example1.com 
# Other directives here 
</VirtualHost> 

<VirtualHost *:80> 
DocumentRoot /www/example2 
ServerName www.example2.org 
# Other directives here 
</VirtualHost> 
+0

Apache無論如何都能很好地工作,它只是我剛開始使用的基於名稱的。我需要從中刪除127.0.0.2嗎? – avenas8808

+0

修改了正確的配置。這將適用於apache的所有綁定接口 – sdolgy

+0

謝謝!至於基於名稱的虛擬主機,我想這意味着沒有更多的httpd -k重新啓動,以保持重新啓動? – avenas8808

0

通常出現這種情況,如果虛擬主機配置錯誤。當你在Windows上,我不知道如何測試您的配置,在Linux上,你會做這樣的事情:

/etc/init.d/httpd configtest 

嘗試啓動命令行Apache和看看你得到任何錯誤。如果Apache作爲服務安裝,您可以在Windows應用程序事件日誌中看到啓動錯誤。

相關問題