Apache-2.2
在 OSX Apache 上禁止動態 vhost 給出 403
我已遵循本指南,並試圖通過允許
foo.dev
定向到 web 文件夾在 OSX 上創建動態虛擬主機/foo
。我的不同之處在於我使用~/Sites
的是我的網路文件夾,而不是指南中的 Mac HD。它使用我認為已安裝並正常工作的 dnsmasq。所以在我的 ~/Sites 文件夾中,我有:
home sites |-foo |-bar
我的 httpd-vhosts.conf 看起來像這樣:
<Virtualhost *:80> DocumentRoot "/Users/harryg/Sites/home" ServerName home.dev UseCanonicalName Off ErrorLog "logs/home/error.log" <Directory "/Users/harryg/Sites/home"> #Options FollowSymLinks Options Indexes FollowSymLinks Includes ExecCGI AllowOverride None Allow from all </Directory> </Virtualhost> <Virtualhost *:80> VirtualDocumentRoot "/Users/harryg/Sites/sites/%1" <Directory "/Users/harryg/Sites/sites/%1"> Options FollowSymLinks #Options Indexes FollowSymLinks Includes ExecCGI AllowOverride None Allow from all </Directory> ServerName sites.dev ServerAlias *.dev UseCanonicalName Off </Virtualhost>
第一個虛擬主機工作正常,並會
home.dev
導致index.php
我在該虛擬主機的根目錄中擁有的範例文件。無論 .dev 的子域是否存在文件夾,第二個 vhost 只是為anything.dev 提供403 Forbidden 錯誤。
有任何想法嗎?
編輯:
最新日誌條目
阿帕奇錯誤日誌:
[Wed Dec 18 00:45:37 2013] [error] [client 127.0.0.1] File does not exist: /Users/harryg/Sites/home/favicon.ico [Wed Dec 18 00:45:45 2013] [error] [client 127.0.0.1] client denied by server configuration: /Users/harryg/Sites/sites/test/, referer: http://home.dev/ [Wed Dec 18 00:45:45 2013] [error] [client 127.0.0.1] client denied by server
伺服器現在可以工作(配置文件中的錯誤日誌目錄有問題)。但仍然無法訪問動態虛擬主機。
您的第二個網站的內容是什麼?
有兩個可能的原因:
- 如果目錄沒有索引文件(index.php、index.html、default.html 等)並且不允許列出目錄,Apache 將顯示 403 錯誤頁面。
- 我注意到您沒有在 sites.dev 中啟用 ExecCGI。您可以嘗試啟用它嗎?
**更新:**百分比登錄路徑 (
/Users/harryg/Sites/sites/%1
) 用於 mod_vhost_alias,但不是 Apache 的<Directory>
規則。修改這個:<Directory "/Users/harryg/Sites/sites/%1">
對此:
<Directory "/Users/harryg/Sites/sites">
它有效嗎?