如何让本地XAMPP中Laravel项目直接显示首页而非文件列表?
解决Mac XAMPP下Laravel项目需加/public才能访问的问题
问题分析
你当前的配置存在两个核心问题:
- 虚拟主机配置中将
localhost的根目录直接指向项目public,这与你想要通过localhost/l10-task-list访问的需求冲突; - 未针对
/l10-task-list路径配置正确的别名映射,导致Apache直接展示项目根目录的文件列表。
解决方案(保持localhost/l10-task-list路径访问)
步骤1:配置Apache别名映射
打开XAMPP的apache2/conf/httpd.conf文件,在现有Alias配置下方添加以下内容:
# 映射l10-task-list路径到项目public目录 Alias /l10-task-list "/Applications/XAMPP/htdocs/l10-task-list/public" <Directory "/Applications/XAMPP/htdocs/l10-task-list/public"> Options Indexes FollowSymLinks AllowOverride All Require all granted DirectoryIndex index.php </Directory>
步骤2:确保开启mod_rewrite模块
在httpd.conf中找到以下行,去掉前面的#号以开启URL重写模块:
LoadModule rewrite_module modules/mod_rewrite.so
步骤3:添加项目根目录的.htaccess(增强兼容性)
如果你的项目根目录(/Applications/XAMPP/htdocs/l10-task-list)下没有.htaccess文件,创建一个并写入以下内容:
RewriteEngine On RewriteRule ^(.*)$ public/$1 [L]
步骤4:调整虚拟主机配置(避免冲突)
打开httpd-vhosts.conf,将你添加的localhost虚拟主机块注释掉或删除,避免与别名配置冲突:
# <VirtualHost *:80> # ServerName localhost # DocumentRoot "/Applications/XAMPP/htdocs/l10-task-list/public" # <Directory "/Applications/XAMPP/htdocs/l10-task-list/public"> # AllowOverride All # DirectoryIndex index.php # Require all granted # </Directory> # </VirtualHost>
步骤5:重启Apache服务
打开XAMPP控制面板,停止并重新启动Apache服务,使配置生效。
验证
现在在浏览器中输入http://localhost/l10-task-list,即可直接访问Laravel项目首页,无需添加/public。
内容的提问来源于stack exchange,提问作者Rachel Fitz
相关产品推荐
相关产品推荐

