Apache 在文件系统上找不到文件夹;将“\xe2\x80\x9d”附加到文件路径的末尾

Unc*_*cus 10 mac-osx virtualhost apache-2.2

我在运行 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>
Run Code Online (Sandbox Code Playgroud)

注意:第一个条目允许我输入“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?(我怀疑这些随机附加的字符是为什么)欢迎任何输入!谢谢阅读!

Dan*_* W. 16

DocumentRoot "/Library/WebServer/Documents/dev3”
                                               ^----- no proper quotation mark :9
Run Code Online (Sandbox Code Playgroud)

如果你安装了 php:

<?php
echo "\xe2\x80\x9d";

// or

echo utf8_decode("\xe2\x80\x9d");

// should give you ”
Run Code Online (Sandbox Code Playgroud)

  • `做一个“不错”的脸,脸手掌穿过头部`现在看,这很有道理。这也发生在我的 HTML 表单中......谢谢!我一直在为此挠头一个小时。与常规引号 @DanFromGermany 相比,该字符如何输入? (2认同)
  • 你不知道当我读到这个解决方案时,我的喜悦有多大。加入这个社区只是为了支持这个。 (2认同)