Apache虚拟主机配置疑问:如何使localhost与自定义虚拟主机共存
解决Apache虚拟主机配置问题
首先,你的现有配置存在语法错误,这是导致Internal Server Error的直接原因:DocumentRoot行末尾缺少闭合引号,需先修正该问题,再完成后续配置。
要实现访问localhost显示D:\xamp-php-8.1\htdocs下的所有文件,访问opencart.local指向指定项目目录,需添加localhost对应的虚拟主机配置,并确保它排在所有虚拟主机配置的最前面(Apache会将第一个匹配的虚拟主机作为默认主机)。
完整的虚拟主机配置代码如下:
# localhost 虚拟主机配置(必须放在最前面) <VirtualHost *:80> ServerName localhost DocumentRoot "D:\xamp-php-8.1\htdocs" <Directory "D:\xamp-php-8.1\htdocs"> AllowOverride All Require all granted # 开启目录索引,确保能看到htdocs下的文件列表 Options Indexes FollowSymLinks </Directory> </VirtualHost> # opencart.local 虚拟主机配置 <VirtualHost *:80> ServerName opencart.local DocumentRoot "D:\xamp-php-8.1\htdocs\opencart-4.0.2.1\upload" <Directory "D:\xamp-php-8.1\htdocs\opencart-4.0.2.1\upload"> AllowOverride All Require all granted </Directory> </VirtualHost>
操作步骤:
- 打开XAMPP中Apache的虚拟主机配置文件(通常路径为
D:\xamp-php-8.1\apache\conf\extra\httpd-vhosts.conf) - 将上述代码替换或添加到文件中
- 保存文件后,重启Apache服务
- 浏览器访问
localhost即可查看htdocs下的文件列表,访问opencart.local则进入OpenCart项目
内容的提问来源于stack exchange,提问作者Ivan
相关产品推荐
相关产品推荐

