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

如何在本地XAMPP中配置VirtualHost运行Laravel项目

完整XAMPP配置Laravel VirtualHost的可行步骤&排查方案

我帮你整理了一套一步步走的配置流程,以及新手常踩的坑的排查方法,按顺序来应该能搞定你的问题:

一、先确认Apache基础状态

  • 打开XAMPP控制面板,确保Apache服务是启动状态。如果启动失败,大概率是80端口被其他程序(比如IIS、迅雷、微信)占用,你可以在XAMPP里修改Apache的端口(比如改成8080),后续所有配置的端口要对应上。

二、配置Apache的虚拟主机文件(http-vhosts.conf)

找到XAMPP安装目录下的apache/conf/extra/http-vhosts.conf,用Atom打开编辑,替换成以下配置(记得修改路径和域名):

# 默认localhost的配置,保留它避免影响其他项目
<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost
</VirtualHost>

# 你的Laravel项目虚拟主机配置
<VirtualHost *:80>
    # 重点!必须指向Laravel项目的public目录,这是最容易错的点
    DocumentRoot "D:/Projects/your-laravel-project/public"
    # 自定义的本地域名,比如我习惯用laravel.test
    ServerName laravel.test
    # 可选:添加www别名
    ServerAlias www.laravel.test

    <Directory "D:/Projects/your-laravel-project/public">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All # 开启重写规则支持
        Require all granted
    </Directory>

    # 可选:日志配置,方便后续排查错误
    ErrorLog "logs/laravel.test-error.log"
    CustomLog "logs/laravel.test-access.log" common
</VirtualHost>

如果之前改了Apache端口为8080,把上面的<VirtualHost *:80>改成<VirtualHost *:8080>。

三、修改系统hosts文件

  • Windows:找到C:\Windows\System32\drivers\etc\hosts,右键Atom选择「以管理员身份运行」打开(不然没权限保存),添加两行:
    127.0.0.1   laravel.test
    ::1         laravel.test
    
  • macOS/Linux:打开终端,输入sudo nano /etc/hosts,添加同样的两行,然后按Ctrl+O保存,Ctrl+X退出。

四、重启Apache生效

回到XAMPP控制面板,先停止Apache,再启动它,确保新的配置加载成功。

五、Laravel项目本身的必要检查

就算虚拟主机配置对了,项目本身也要确保没问题:

  1. 复制项目根目录的.env.example文件,重命名为.env,配置数据库连接(XAMPP默认MySQL用户名是root,密码为空,如果你设置过密码就填你的):
    DB_CONNECTION=mysql
    DB_HOST=127.0.0.1
    DB_PORT=3306
    DB_DATABASE=your_database_name # 先在phpMyAdmin里建好这个库
    DB_USERNAME=root
    DB_PASSWORD=
    
  2. 生成应用密钥:打开XAMPP的「Shell」按钮,cd到你的Laravel项目根目录,运行:
    php artisan key:generate
    
  3. 权限检查(主要针对macOS/Linux):给storage和bootstrap/cache目录加写权限:
    chmod -R 775 storage bootstrap/cache
    chown -R www-data:www-data storage bootstrap/cache
    
    Windows一般不需要手动改权限,除非你遇到权限报错。

六、常见问题排查

如果还是访问不了,试试这些:

  • 端口问题:如果用了8080端口,访问的时候要加端口号,比如laravel.test:8080
  • 路径错误:检查http-vhosts.conf里的DocumentRoot和Directory路径,Windows路径要用正斜杠/或者转义的反斜杠\\,别直接写D:\Projects\...
  • 重写模块没开:打开XAMPP的apache/conf/httpd.conf,找到LoadModule rewrite_module modules/mod_rewrite.so,确保前面的#被去掉了,然后重启Apache
  • .htaccess缺失:Laravel的public目录里必须有.htaccess文件,如果没有,复制下面的内容新建一个:
    <IfModule mod_rewrite.c>
        <IfModule mod_negotiation.c>
            Options -MultiViews -Indexes
        </IfModule>
    
        RewriteEngine On
    
        # Handle Authorization Header
        RewriteCond %{HTTP:Authorization} .
        RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
    
        # Redirect Trailing Slashes If Not A Folder...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_URI} (.+)/$
        RewriteRule ^ %1 [L,R=301]
    
        # Send Requests To Front Controller...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
    </IfModule>
    
  • 浏览器缓存:用无痕模式访问,或者清除浏览器缓存后再试

内容的提问来源于stack exchange,提问作者Co ti

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:05:46