Apache-2.2
Apache 未在文件系統上找到文件夾;將“xe2x80x9d”附加到文件路徑的末尾
我在執行 OS X Mavericks 的個人 Macintosh 上的 apache2 中執行了三個虛擬主機,我陷入了混亂。它們在我的 httpd-vhosts.conf 文件中配置如下:
<VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents" ServerName localhost ServerAlias localhost </VirtualHost> <VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents/dev1" ServerName dev1.local ServerAlias www.dev1.local </VirtualHost> <VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents/dev2" ServerName dev2.local ServerAlias www.dev2.local </VirtualHost> <VirtualHost *:80> DocumentRoot "/Library/WebServer/Documents/dev3” ServerName dev3.local ServerAlias www.dev3.local </VirtualHost>
注意:第一個條目允許我輸入“localhost”並在沒有執行虛擬主機的情況下按預期載入它。
dev1 和 dev2 工作正常,但我收到錯誤 404,提示“在此伺服器上找不到請求的 URL /”。當我嘗試在本地機器上傳入 dev3 時。所有三個 Dev 文件夾都具有相同的權限,我已經驗證了名稱。當我檢查 error_log 時,我發現:
$$ Fri Jan 24 12:55:07 2014 $$ $$ error $$ $$ client 127.0.0.1 $$文件不存在:/Library/WebServer/Documents/dev3\xe2\x80\x9d
有誰知道為什麼 Apache 將“\xe2\x80\x9d”附加到文件夾路徑的末尾,或者為什麼 dev3 沒有載入?(我懷疑這些隨機附加的字元是為什麼)歡迎任何輸入!謝謝閱讀!
DocumentRoot "/Library/WebServer/Documents/dev3” ^----- no proper quotation mark :9
如果你安裝了 php:
<?php echo "\xe2\x80\x9d"; // or echo utf8_decode("\xe2\x80\x9d"); // should give you ”
你錯過了
VirtualHost
設置。NG:
DocumentRoot "/Library/WebServer/Documents/dev2"
好的:
DocumentRoot /Library/WebServer/Documents/dev2