如何让localhost加载非/var/www/html目录下的Apache开发站点
Apache本地站点访问404问题排查与解决
问题核心
你当前的配置是把livingmuaythai作为独立域名(可直接访问http://livingmuaythai),但你想要的是localhost/livingmuaythai这种子路径访问,两者配置逻辑不匹配,导致404错误。另外,2009年教程里的Apache权限指令已经不适用于2.4版本,也可能引发访问问题。
两种解决思路
思路1:使用独立域名访问(匹配现有配置)
- 修正配置文件注释:Apache不支持
//格式注释,把livingmuaythai.conf里的// 这里需要加.com吗?改成# 这里需要加.com吗? - 直接访问独立域名:在浏览器输入
http://livingmuaythai即可访问站点,无需加localhost前缀 - 验证配置有效性:执行
sudo apache2ctl configtest检查配置语法,无报错后重启Apache:sudo systemctl restart apache2
思路2:配置localhost下的子路径访问(满足你的需求)
- 修改虚拟主机配置
编辑/etc/apache2/sites-available/livingmuaythai.conf,替换为适配Apache 2.4的内容:<VirtualHost *:80> ServerName localhost ServerAdmin johncowan54@gmail.com # 配置子路径映射,兼容大小写访问 Alias /livingmuaythai /home/jdc44/Websites/LivingMuayThai Alias /LivingMuayThai /home/jdc44/Websites/LivingMuayThai <Directory /home/jdc44/Websites/LivingMuayThai/> Options Indexes FollowSymLinks MultiViews AllowOverride All Require all granted # Apache 2.4标准权限指令,替代旧版Order/allow规则 </Directory> ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </VirtualHost> - 修复文件权限
确保Apache运行用户(www-data)能读取站点目录:sudo chmod -R 755 /home/jdc44/Websites/LivingMuayThai sudo chown -R www-data:www-data /home/jdc44/Websites/LivingMuayThai - 启用配置并重启Apache
sudo a2ensite livingmuaythai.conf sudo systemctl restart apache2
关键检查点
- 确认
index.html确实存在于/home/jdc44/Websites/LivingMuayThai目录下 - 查看Apache错误日志定位具体问题:
cat /var/log/apache2/error.log
内容的提问来源于stack exchange,提问作者John Cowan
相关产品推荐
相关产品推荐

