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

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

我在运行 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 工作正常,但当我尝试在本地计算机上加载 dev3 时,出现错误 404,提示“在此服务器上未找到请求的 URL /”。所有三个 Dev 文件夹都具有相同的权限,我已验证了名称。当我检查 error_log 时,我发现了以下内容:

[2014 年 1 月 24 日星期五 12:55:07] [错误] [客户端 127.0.0.1] 文件不存在:/Library/WebServer/Documents/dev3\xe2\x80\x9d

有谁知道为什么 Apache 在文件夹路径末尾附加了“\xe2\x80\x9d”,或者为什么 dev3 没有加载?(我怀疑这些随机附加的字符就是原因)欢迎提供任何意见!谢谢阅读!

答案1

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 ”

答案2

您错过了VirtualHost设置。

不良:DocumentRoot "/Library/WebServer/Documents/dev2"

好的:DocumentRoot /Library/WebServer/Documents/dev2

答案3

DocumentRoot“/图书馆/ Web服务器/文档”

它应该是

DocumentRoot /图书馆/ Web服务器/文档

DocumentRoot 中没有“”

相关内容