asset 函数返回的 url 不是域名 ,是 ip

我用 laravel 做的小程序后台数据服务。我遇到一个这样的问题。刚开始我没有域名,直接用 ip 访问,用户的头像和相册都能显示。现在我换成域名了,相册的图片 url 返回的是域名,而 头像的 url 还是 IP地址。我在后台用的 api resource.
代码

//user resource
public function toArray($request)
    {
        return [
            'user_id' => $this->id,
            'nickname' => $this->post->nickname??'',
            'location' => $this->post->location[1]??'',
            'avatar' => substr($this->post->avatar, 0, 4) == 'http' ? $this->post->avatar : (!$this->post->avatar ? '':asset('storage/'.$this->post->avatar)), //用户的头像
            'register_time' => $this->post->created_at,
            'pictures' => PostPictureResource::collection($this->post->pictures),//用户的相册
            ...
 }          

.env 文件的 APP_URL 也改成现在的域名了。
返回给小程序端的用户的头像的 url 就是这样的:'39.105.229.114/storage/pictures/rXYEsdbFPnP2Xlw51iGPYbGUbz3F8dahrYAxIJPp.jpeg',
但是相册图片的 url 就是 '我的域名/storage/pictures/xRQE8cdQFArA6FiBQARVPXWR9M6HYWArKCaKQImu.jpeg'
是我的 nginx 配置有问题吗?

龙小默
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 2
sunxyw

会不会是数据库直接存的图片地址(IP),比如 http://127.0.0.1/avatar.png 这样,然后取得时候就直接把这个返回了?

4年前 评论
龙小默 (楼主) 4年前
sunxyw (作者) 4年前

你看看你小程序访问后端的接口地址的是哪个,是 IP 还是域名。我觉得应该是访问了 IP 才导致这样。

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!