OS X 上的 Apache 和虛擬主機問題

OS X 上的 Apache 和虛擬主機問題

我最近格式化並安裝了我的 iMac。我正在運行 10.6.5。在採用這種格式之前,我已經啟動了預設的 Apache Web 伺服器並與多個虛擬主機一起運行,並且一切都運作良好。格式化後,我重新設定了所有內容,現在 Apache 表現得很奇怪。這是我正在發生的事情的描述。

我的 Apache Web 伺服器的預設根目錄指向外部硬碟。在我的 httpd.conf 中,這是我的內容:

DocumentRoot "/Storage/Sites"

然後下面有幾行:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>

然後在下面:

<Directory "/Storage/Sites">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from All
</Directory>

在此文件的末尾,我註解掉了用戶目錄包含conf檔:

Include /private/etc/apache2/extra/httpd-userdir.conf

並取消註解虛擬主機conf檔:

Include /private/etc/apache2/extra/httpd-vhosts.conf

繼續,我的 vhosts 檔案中有以下項目:

<VirtualHost *:80>
   DocumentRoot "/Storage/Sites/mysite"
   ServerName mysite.dev
</VirtualHost>

我的 /etc/hosts 檔案中還有一筆主機記錄,將 mysite.dev 指向 127.0.0.1(我也嘗試使用我的路由器 IP,192.168.1.2)。

我遇到的問題是,儘管 /Storage/Sites/mysite 中有 PHP 文件,但伺服器仍在查看 /Storage/Sites。我知道這一點是因為 DocumentRoot 中包含一個帶有 phpinfo() 的 php 檔案(而 mysite 中的 index.php 檔案具有不同的程式碼)。

我嘗試過設定其他虛擬主機,但他們仍然在做同樣的事情。另外,「NameVirtualHost *:80」位於我的虛擬主機檔案中。我在這裡看到了另一個線程的解決方案。似乎沒有什麼差別。

對此有什麼想法嗎?如果這還不夠,請告訴我。

答案1

僅在主 httpd.conf 檔案中包含所有 VirtualHost 通用的指令選項。將 Apache 服務的所有主機虛擬化。

從主 httpd.conf 檔案中刪除 DocumentRoot 和區塊。僅將它們放在 httpd-vhosts.conf 檔案中。

相關內容