2013-03-30 78 views
1

好的,我安裝了我的wamp,並且無法正確安裝我的虛擬主機。WAMP服務器虛擬主機配置

這是我有:

WAMP的安裝目錄:F:\wamp

項目目錄:從Windows F:\www

# F:\wamp\bin\apache\apache2.4.2\conf\extra\httpd-vhosts.conf 
<Directory "F:\www"> 
    AllowOverride AuthConfig FileInfo Indexes Limit Options 
    Order Deny,Allow 
    AllowOverride All 
    Allow from all 
</Directory> 

NameVirtualHost 127.0.0.1 
<VirtualHost 127.0.0.1> 
    ServerName localhost 
    DocumentRoot "F:\wamp\www" 
</VirtualHost> 

# Yes, it's a symfony2 project 
<VirtualHost 127.0.0.1> 
    DocumentRoot "F:\www\my_project\web" 
    DirectoryIndex app_dev.php 
    ServerName my_project 
</VirtualHost> 

hosts文件配置和有必要的:包括127.0.0.1 project_name線。

阿帕奇httpd.conf

# Virtual hosts 
Include conf/extra/httpd-vhosts.conf 

現在瀏覽器告訴我這,當訪問網址:my_project/

Forbidden 
You don't have permission to access/on this server. 

可能有人給我怎麼在這裏上的線索?

+0

就我個人而言,我會將dev站點嵌套在「f:wamp/www /」目錄中。路徑不需要有windows風格的反斜槓 - 轉發就足夠了。一定要在每個路徑中包含一個終端'/'。確保在進行更改後「重新啓動所有服務」。 –

+0

每個路徑末尾的'/'實際上使WAMP無法重新啓動所有服務。我在我的路徑中嘗試了'/'和'\',但都沒有工作。保持我的'wamp \ www'目錄中的項目是我不太喜歡的情況下,如果我想重新安裝WAMP服務器等。我寧願去'F:\ wamp \ www \ my_project'符號鏈接到' F:\ WWW \ my_project'。無論如何感謝您的評論。 –

+0

我以爲「符號鏈接」是一個UNIX術語? –

回答

12

試試這個作爲你的conf /額外/的httpd-vhosts.conf

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


## must be first so the the wamp menu page loads 
## and leave as Allow from 127.0.0.1 as outside access should not be required to the wamp homepage 
<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot "F:/wamp/www" 
    ServerName localhost 
    ServerAlias localhost 
    <Directory "F:/wamp/www"> 
     Order Deny,Allow 
     Deny from all 
     Allow from 127.0.0.1 
    </Directory> 
</VirtualHost> 

# Yes, it's a symfony2 project 
<VirtualHost *:80> 
    DocumentRoot "F:\www\my_project\web" 
    ServerName myproject.dev 
    ServerAlias myproject.dev www.myproject.dev 
    Options Indexes FollowSymLinks 
    <Directory "F:\www\my_project\web"> 
     AllowOverride All 
     Order Deny,Allow 
     Allow from 127.0.0.1 
     Allow from 192.168.2 
     ## change to Allow from all when it works 
    </Directory> 
</VirtualHost> 

現在你需要將網站名稱(S)添加到您的主機文件是這樣的。

127.0.0.1 myproject.dev 
::1 myproject.dev 

編輯:

您的瀏覽器找到您的網站的域名,你必須告訴你正在使用用於測試的域名存在該IP地址的窗戶,它生活在。您可以通過將您的測試域名添加到名爲hosts的文件來執行此操作。這是閱讀當Windows加載它的網絡組件和服務的緩存稱爲DNS Client

要添加新的本地域名,你必須編輯Windows主機文件

c:\windows\system32\drivers\etc\hosts 

並添加一條線爲每個虛擬主機這樣

127.0.0.1 myproject.dev 
127.0.0.1 myproject2.dev 
127.0.0.1 myproject3.dev 
::1 myproject.dev 
::1 myproject2.dev 
::1 myproject3.dev 

一旦被保存,使用Run as Administrator(右擊+在Windows命令處理器圖標轉變爲顯示包含菜單啓動命令提示符0菜單行)併發出這兩個命令來重新啓動「DNS客戶端」服務,以便它能夠獲取您的更改。或者只需重啓。

net stop dnscache 

即完成

net start dnscache 

PS時。雙引號是必需的,因爲服務名稱中有一個空格!

如何修改hosts文件

hosts文件被Windows保護,爲了救它,你必須有管理員的privilages。 在Vista/W7/W8上,您可能認爲自己是管理員,但不是。

要成功保存主機文件,請執行此操作以使用Admin Privilages啓動您的編輯器。

找到您的編輯器圖標在桌面或從開始菜單(記事本將做,如果你沒有別的) 右鍵+移到你選擇的編輯器圖標 - 將顯示一個菜單。 從菜單中選擇「以管理員身份運行」。使用file -> open導航編輯器到c:\windows\system32\drivers\etc\hosts文件。

當您進行更改時,您現在將被允許保存它們。

+0

我用我的電腦本法干擾,但我無法訪問第二臺虛擬主機,您對此意味着什麼:「現在您需要將這樣的網站名稱添加到您的主機文件中,如下所示:127.0.0.1 myproject.dev」?請幫忙。 – laviku

+1

請參閱我的編輯以獲得解釋 – RiggsFolly

+0

謝謝,這確實有幫助! – laviku