Laravel使用Valet时blog.test无法显示欢迎页面求助
解决Valet指向Laravel项目显示"It Works"的问题
嘿,这个问题我之前帮好几个Laravel新手处理过,核心原因就是Valet没正确把blog.test域名指向你的Laravel项目public目录,反而 fallback到了Nginx的默认页面(就是你看到的"It Works")。别着急,一步步来就能搞定:
先搞懂valet link到底干了啥
正常情况下,valet link会在Valet的站点配置目录(~/.config/valet/Sites)给你的项目建个软链接,而且Valet会自动识别Laravel项目的public文件夹作为站点根目录——理论上valet link应该自动处理好路径,但有时候缓存、软链接出问题或者域名冲突,就会掉链子。
具体解决步骤
1. 先清掉旧链接,重新来一遍
先进到你的Laravel项目根目录,把可能无效的旧链接删掉,再重新创建:
cd ~/Sites/blog valet unlink # 移除当前项目的Valet链接 valet link # 重新创建链接,默认用目录名当域名(也就是blog.test) valet restart # 重启Valet服务,让配置生效
2. 刷新本地DNS缓存
有时候本地DNS缓存会搞鬼,导致域名解析不对,执行下面的命令清一下:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder
3. 手动检查Valet的Nginx配置(如果前两步没用)
要是还是显示"It Works",那咱们直接去看Valet生成的配置文件:
- 打开
~/.config/valet/Nginx/blog.test这个文件 - 找到
root那一行,确认它指向的是你Laravel项目的public目录,比如应该是:
要是路径不对,手动改完保存,再执行root "/Users/你的用户名/Sites/blog/public";valet restart重启服务就行。
4. 检查hosts文件有没有冲突
Valet会自动管理/etc/hosts文件,但如果你之前手动加过blog.test的条目,就可能冲突:
- 用sudo权限打开hosts文件:
sudo nano /etc/hosts - 找找有没有
127.0.0.1 blog.test这类手动加的行,有的话删掉,保存退出后再重启Valet。
额外提一句:别搞混valet link和valet park
如果你之前用valet park把~/Sites这类目录设成了自动站点目录,Valet会把目录下的每个子文件夹都当成一个站点。这种情况下只要你的blog文件夹在park目录里,Valet也应该自动识别public目录。但要是同时用了link和park,可能会有优先级问题,建议选一种方式管理站点就行。
内容的提问来源于stack exchange,提问作者Rajesh
相关产品推荐
相关产品推荐

