Apache-2.2

Apache 未在文件系統上找到文件夾;將“xe2x80x9d”附加到文件路徑的末尾

  • March 13, 2019

我在執行 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

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