繁体   English   中英

laravel voyager 子域图像未显示

[英]laravel voyager subdomain image not showing

voyager 项目安装在子域上。 https://sub.domainname.com/ ,在本地上传图片没有问题,我可以显示它们但是当我在主机上尝试时,无论我做什么,图片都会出现损坏

应用网址

APP_URL=https://sub.domainname.com

配置/文件系统

'disks' => [

    'local' => [
        'driver' => 'local',
        'root' => storage_path('app'),
    ],

    'public' => [
        'driver' => 'local',
        'root' => storage_path('app/public'),
        'url' => env('APP_URL').'/storage',
        'visibility' => 'public',
    ],

    's3' => [
        'driver' => 's3',
        'key' => env('AWS_ACCESS_KEY_ID'),
        'secret' => env('AWS_SECRET_ACCESS_KEY'),
        'region' => env('AWS_DEFAULT_REGION'),
        'bucket' => env('AWS_BUCKET'),
        'url' => env('AWS_URL'),
        'endpoint' => env('AWS_ENDPOINT'),
        'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false),
    ],

],

上传图像后,它的图像在媒体菜单上

在此处输入图像描述

您是否发布了存储文件夹链接? php artisan storage:link

更新问题

我正在从我的子域项目上传到根目录中的存储文件夹,这样我创建了一个航海者存储

'voyager' => [
            'driver' => 'local',
            'root' => '/home/username/public_html/storage/app/public',
            'url' => 'https://website.com/storage',
            'visibility' => 'public',
        ]

在我的 config/voyager.php 文件中,我给了我自定义创建的磁盘。

'storage' => [
        'disk' => 'voyager',
    ],

这样我就可以将图片发送到项目根目录public_html下,但是我的图片在voyager上还是看不到的。 图像的路径如下所示;

https://website.com/storage/works/July2022/5w9ONuhB1VgQFLj9hGJH.png

抱歉,您的所有代码都在 public_html 文件夹中吗? 我的意思是,是否包括路线、存储、应用程序等?

这可能会影响您的应用程序考虑公用文件夹在哪里的方式。 因此,您可以打开 Tinker 或添加日志以查看 public_path() 函数是否返回正确的路径。 如果没有,那么您应该指示您的应用程序将路径重定向到正确的文件夹或将项目的结构更改为更方便/安全的结构。

示例中的那个也是子域吗? 因为它看起来像一个主域。

PS:我不太了解缺点,但是大多数人不建议在这里公开路径,例如您的项目的域或结构,因为您不知道人们可以用这些信息做什么。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM