從 VirtualBox 中的來賓作業系統訪問主機作業系統上的虛擬主機
通過 VirtualBox,我需要通過來賓作業系統(Windows XP 和 7)訪問主機(Mac OS X 10.6)的虛擬主機。
我能夠訪問該
localhost
URL,並且可以~/Username/Sites
在來賓瀏覽器中通過主機(我的 Mac)的本地 URL 從來賓作業系統查看文件夾的目錄結構,但是當我嘗試深入了解文件結構時出現 403 錯誤例如,mymacsname.lcoal/~Username/Sites
可以訪問,但是403
當我瀏覽到ymacsname.lcoal/~Username/Sites/somewebsite/
.注意:
403
當我嘗試ymacsname.lcoal/~Username/Sites/somewebsite/
從我的 Mac(主機)瀏覽器訪問時,我也會得到。編輯:
我已經檢查了主機作業系統(Mac)上的訪問日誌,奇怪的是,如果我瀏覽到一個沒有
.htaccess
文件的目錄,我會收到"HTTP/1.1" 200 1935
響應,並且能夠瀏覽該目錄的索引或提供它的預設網頁。如果目錄中有.htaccess
文件,我會收到"HTTP/1.1 403 247"
回复!這將很多問題縮小到
.htaccess
文件,所以我會繼續研究這個,我真的很感謝你的幫助!重新編輯
更進一步,這似乎是我
.htaccess
的mod_rewrite
規則的問題。我在.htaccess
下麵包含了我的程式碼,它似乎應該將瀏覽器重定向到,/Users/Jay/Sites/chassis/library/bootstrap.php
但似乎我沒有訪問該文件的權限(bootstrap.php
)。Options +FollowSymLinks RewriteEngine On RewriteCond %{DOCUMENT_ROOT}/public/index.html !-f RewriteRule ^$ library/bootstrap.php [L] RewriteRule ^$ public/index.html [L] RewriteRule ^([a-z0-9/-]+)$ library/bootstrap.php?url=$1 [L,QSA]
越來越近了!請幫我解決這個問題!
重新編輯
如果這有幫助,這裡是我的主要 Apache 配置文件 (
/private/etc/apache2/httpd.conf
) 中的剪輯:<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory>
這絕對是權限問題。
通過添加解決:
<Directory /> Options +FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory>
到
/private/etc/apache2/extra/httpd-vhosts.conf
.我還需要編輯來賓作業系統(Windows XP 和 7)上的主機文件,如下所示:
192.168.123.123 somevhost 192.168.123.123 someothervhost.dev
其中,IP 地址是主機作業系統的 IP 地址,而
somevhost
……是主機作業系統上虛擬主機的名稱。我需要將主機作業系統設置為使用靜態 IP,就好像它是由 DHCP 分配的一樣,每次主機作業系統的 IP 更改時,您都必須在來賓作業系統上編輯主機文件。
這些網站確實有幫助:
http://support.microsoft.com/kb/972034#LetMeFixItMyselfAlways
http://mark-kirby.co.uk/2008/setting-up-virtual-hosts-on-os-x-leopard/
您可能希望首先檢查 Web 伺服器的訪問日誌,以查看實際傳遞給它的內容 - 成功與失敗。