Apache-2.2

虛擬主機 64 位 Windows 7

  • February 15, 2011

我有問題…. :D 如何在 64 位 W7 上創建虛擬主機??????在 32 位中添加例如

<VirtualHost localhost/Story>
<Directory "C:/xampp/htdocs/Story/public">
Options FollowSymLinks
AllowOverride All
</Directory>

DocumentRoot C:/xampp/htdocs/Story/public
ServerName localhost/Story
CustomLog C:/xampp/htdocs/Story/log combined
</VirtualHost>

在主機的 system32 中: 127.0.0.1 localhost/Story

但是在 64 位中它忽略了:/ 我應該做什麼?


好的更多數據:

在我的 apache conf 文件中,我有:

<VirtualHost localhost/Story>
<Directory "C:/xampp/htdocs/Story/public">
Options FollowSymLinks
AllowOverride All
</Directory>

DocumentRoot C:/xampp/htdocs/Story/public
ServerName localhost/Story
CustomLog C:/xampp/htdocs/Story/log combined
</VirtualHost>

在我的 C:\Windows\System32\drivers\ect\hosts 127.0.0.1 localhost/Story

在我的 Netbeans 項目中設置了執行路徑:

http://localhost/Story/

所以我想現在如果我執行我的項目,他將使用這個配置的 localhost/Story 虛擬主機,並且應該自動將我的應用程序重定向到 C:/xampp/htdocs/Story/public,因為我已經在我的 httpd.conf 文件中配置了這個虛擬主機。我對嗎?

在我的另一台 32 位系統的筆記型電腦上,此配置正在執行,當我編寫時:localhost/Story 我的應用程序正在執行,因為此虛擬主機將其重定向到公用文件夾。在 64 位系統上,當我編寫 localhost/Story 時,我只看到文件樹,這意味著我的虛擬主機無法正常工作:/ 但我不明白為什麼:/

如果,並且絕對如果,這曾經奏效,那絕對是無效的。localhost/story 都不是有效的主機名,配置也不是有效的,因為 apache 文件指出指令採用一個參數addr,它可以是:

  • 虛擬主機的IP地址;
  • 虛擬主機IP地址的全限定域名;
  • 字元 *,僅與 NameVirtualHost * 結合使用以匹配所有 IP 地址;或者
  • 字元串_default_,僅用於 IP 虛擬主機以擷取不匹配的 IP 地址。

您正在使用包含路徑的 URI,但省略了協議。

更新

關於以上幾點,您應該清楚地看到,要麼您犯了一個奇怪的錯誤,要麼您可能沒有完全理解 HTTP(尤其是 HTTP/1.1)和 Virtualhosting 的概念。您甚至可能遺漏了一些關於網路基礎知識的要點。

這沒問題,因為有很多好的資源可供學習。什麼可能有效(至少它應該是有效的):

NameVirtualHost *

<VirtualHost localhost>
   <Directory "C:/xampp/htdocs/Story/public">
      Options FollowSymLinks
      AllowOverride All
   </Directory>

   DocumentRoot C:/xampp/htdocs/Story/public
   ServerName localhost
   CustomLog C:/xampp/htdocs/Story/log combined
</VirtualHost>

引用自:https://serverfault.com/questions/235768