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)