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

Ric*_*ner 1 apache xampp virtualhost

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

AH00112:警告:DocumentRoot [/Applications/XAMPP/xamppfiles/\xe2\x80\x9c/Users/mac-user/Sites/domain/httpdocs\xe2\x80\x9d] 不存在 (2) 没有这样的文件或目录: AH02291:无法访问目录 '/Applications/XAMPP/xamppfiles/\xe2\x80\x9c/Users/mac-user/Sites/domain/' 以获取在 /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>
Run Code Online (Sandbox Code Playgroud)

我注意到的是,出于某种原因,Apache 将其作为前缀添加/Applications/XAMPP/xamppfiles/\xe2\x80\x9c到路径中,但我不知道为什么。

请帮忙。它让我发疯。

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

Eil*_*ton 6

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

“/Users/mac-user/Sites/domain/httpdocs”
Run Code Online (Sandbox Code Playgroud)

这应该是:

"/Users/mac-user/Sites/domain/httpdocs"
Run Code Online (Sandbox Code Playgroud)

您的 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>
Run Code Online (Sandbox Code Playgroud)