已经使用命令 php artisan storage:link
创建过软链接了,头像仍然不显示。
发现链接显示的是 http://localhost/storage/images/b6f0ad07b9ef543dc3fffe86bdc9ecaa.jpg 导致了 404 错误。
如果头像链接是 http://自己的域名/storage/images/b6f0ad07b9ef543dc3fffe86bdc9ecaa.jpg 那就对了
方法一
将.env
文件里的 APP_URL=http://localhost
修改为 APP_URL=http://自己的域名
刷新浏览器,发现头像成功显示。
但这是个治标不治本的坏办法,放弃。
方法二
将 config/admin.php
里的 'disk' => 'public'
修改为 'disk' => 'admin'
在 config/filesystems.php
disk数组中里面添加一个 admin 磁盘,刷新浏览器头像也能显示!
'admin'=>[
'driver'=>'local',
'root'=>storage_path('app/public'),
]
此法的妙处在于头像链接使用的是相对路径 /storage/images/b6f0ad07b9ef543dc3fffe86bdc9ecaa.jpg
之前什么 http://localhost/storage/images/b6f0ad07b9ef543dc3fffe86bdc9ecaa.jpg
或者什么 http://自己的域名/storage/images/b6f0ad07b9ef543dc3fffe86bdc9ecaa.jpg
都是绝对路径,链接写死了。
对于虚拟主机来说,写死的链接未必会显示(要看虚拟主机的主机名)
但是相对路径 /storage/images/b6f0ad07b9ef543dc3fffe86bdc9ecaa.jpg
只要文件存在一定会显示