虚拟主机路径的 Apache 前缀路径

Posted

技术标签:

【中文标题】虚拟主机路径的 Apache 前缀路径【英文标题】:Apache Prefixing Path to Virtual Hosts Path 【发布时间】:2015-03-06 18:50:54 【问题描述】:

我在 Mac 上安装了全新安装的 XAMPP。我已经正确设置了虚拟主机,但是由于某种原因,当我打开 XAMPP 时,我收到了这样的错误...

AH00112:警告:DocumentRoot [/Applications/XAMPP/xamppfiles/\xe2\x80\x9c/Users/mac-user/Sites/domain/httpdocs\xe2\x80\x9d] 不存在 (2)No such file or directory: AH02291: 无法访问 目录 '/Applications/XAMPP/xamppfiles/\xe2\x80\x9c/Users/mac-user/Sites/domain/' 对于定义在的 vhost 的错误日志 /Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf:34 AH00014: 配置检查失败

这是我的 VH 配置...

<VirtualHost *:80>
 ServerAdmin webmaster@somedomain.com
 DocumentRoot “/Users/mac-user/Sites/domain/httpdocs”
 ServerName khemistry.dev
 ServerAlias khemistry.dev
 ErrorLog “/Users/mac-user/Sites/domain/error”
 CustomLog “/Users/mac-user/Sites/domain/custom” common
 <Directory “/Users/mac-user/Sites/domain/httpdocs”>
     Options Indexes FollowSymLinks Includes execCGI
     AllowOverride All
     Require all granted
 </Directory>
</VirtualHost>

我注意到由于某种原因 Apache 将此 /Applications/XAMPP/xamppfiles/\xe2\x80\x9c 前缀到路径中,我不知道为什么。

请帮忙。快把我逼疯了。

如果您需要更多信息,请询问。

【问题讨论】:

【参考方案1】:

实际上,您的配置中有两个持续错误,左双引号和右双引号;这是由于使用文字处理程序而不是纯文本编辑程序来编辑文件造成的。示例:

“/Users/mac-user/Sites/domain/httpdocs”

这应该是:

"/Users/mac-user/Sites/domain/httpdocs"

您的 VHost 配置充满了这些 - 只需将它们全部更改为纯双引号即可。

编辑:我已经编辑了您问题中的 VirtualHost 代码,因为它都在一行中 - 希望它可以更容易地查看所有需要更改为普通双引号的左右双引号。以下指令(复制并粘贴)将起作用:

<VirtualHost *:80>
 ServerAdmin webmaster@somedomain.com
 DocumentRoot "/Users/mac-user/Sites/domain/httpdocs"
 ServerName khemistry.dev
 ServerAlias khemistry.dev
 ErrorLog "/Users/mac-user/Sites/domain/error"
 CustomLog "/Users/mac-user/Sites/domain/custom" common
 <Directory "/Users/mac-user/Sites/domain/httpdocs">
     Options Indexes FollowSymLinks Includes execCGI
     AllowOverride All
     Require all granted
 </Directory>
</VirtualHost>

【讨论】:

它甚至不仅仅是文字处理程序:甚至像 WordPress 这样的博客引擎也一直坚持用“”替换“已发布”,除非你用代码或前置标签标记它们。另一方面,浏览器可以找到任何搜索任何时使用双引号(即 " 匹配所有三个)。非常烦人,但显然现在美丽胜过准确性。

以上是关于虚拟主机路径的 Apache 前缀路径的主要内容,如果未能解决你的问题,请参考以下文章

Apache 虚拟主机:不同的路径在同一 IP 上为不同的应用程序服务

CentOS7 apache创建虚拟路径

43.apache虚拟主机的使用

如何在apache 配置虚拟目录

虚拟路径的配置

apache配置虚拟主机和报错