You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

XAMPP中localhost未指向htdocs目录,跳转至Laravel子目录如何解决

嗨,这种情况我之前帮朋友排查过,大概率是Apache的站点根目录配置被修改,或者存在全局的.htaccess重定向规则导致的,下面给你一步步排查和解决的方法:

1. 检查Apache主配置文件(httpd.conf)
  • 打开XAMPP控制面板,找到Apache模块,点击旁边的「Config」按钮,选择「Apache (httpd.conf)」打开配置文件。
  • 找到DocumentRoot和对应的<Directory>配置项,确认它们指向的是XAMPP的htdocs根目录,而不是htdocs/blog。正确的配置应该类似这样:
    DocumentRoot "C:/xampp/htdocs"
    <Directory "C:/xampp/htdocs">
    
  • 如果这两行指向的是htdocs/blog,修改成上面的正确路径,保存文件后重启Apache服务生效。
2. 排查虚拟主机配置(httpd-vhosts.conf)
  • 如果你启用了虚拟主机,同样在Apache的Config菜单里选择「Apache (httpd-vhosts.conf)」。
  • 查看里面的<VirtualHost>配置块,确保默认的localhost虚拟主机的DocumentRoot是htdocs目录。示例正确配置:
    <VirtualHost *:80>
        ServerName localhost
        DocumentRoot "C:/xampp/htdocs"
        <Directory "C:/xampp/htdocs">
            Options Indexes FollowSymLinks Includes ExecCGI
            AllowOverride All
            Require all granted
        </Directory>
    </VirtualHost>
    
  • 如果发现有指向htdocs/blog的虚拟主机配置,要么修改它的DocumentRoot,要么删除多余的配置,保存后重启Apache。
3. 检查htdocs根目录的.htaccess文件
  • 打开htdocs目录,注意查看是否有隐藏的.htaccess文件(Windows系统需要先开启「显示隐藏文件」选项)。
  • 如果存在这个文件,检查里面是否有强制重定向到blog目录的规则,比如类似这样的代码:
    RewriteEngine On
    RewriteRule ^$ blog/index.php [L]
    
  • 如果有这类规则,要么删除对应的重定向行,要么直接删除整个.htaccess文件(如果你不需要全局重定向的话),然后刷新浏览器测试。
4. 确认Laravel项目的本地配置
  • 虽然概率较低,但可以顺带检查下blog目录下Laravel项目的.htaccess——不过Laravel的.htaccess一般只作用于自身目录,不会影响上级的htdocs。
  • 另外,查看Laravel项目根目录的.env文件,确认APP_URL设置为http://localhost,这个主要影响项目内部跳转,不过也可以顺手确认下。

完成以上步骤后,重启Apache服务,再访问localhost应该就能正常指向htdocs根目录了。

内容的提问来源于stack exchange,提问作者Hidayat ullah

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 03:55:23