Laravel не показывает изображение с URL - PullRequest
0 голосов
/ 07 февраля 2020

У меня проблема с доступом к некоторым изображениям из моего хранилища на виртуальном хостинге.

Например: <my_domain>/storage/captcha/baa5271fe19d696d6e83388a5c22f13c40ecc470.jpg отображать html страницу, но <my_domain>/storage/images/slider1.jpg отображать изображение.

Intervention\Image\Facades\Image используется для создания изображения капчи.

файловых систем. php config для сравнения:

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

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

Привилегии для хранилища были установлены как 777. storage: link также был установлен.

.htaccess:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews -Indexes
    </IfModule>

    RewriteEngine On

    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]
</IfModule>

Это происходит только на виртуальном хостинге , поэтому я предполагаю, что это что-то с .htaccess.

Ответы [ 3 ]

0 голосов
/ 07 февраля 2020

Если вы используете виртуальный хостинг, используйте publi c path

'images' => [
            'driver' => 'local',
            'root' =>  public_path() . '/Any folder name of image',
            'url' => env('APP_URL').'/storage/images/',
            'visibility' => 'public',
        ],
0 голосов
/ 07 февраля 2020

Решением было удаление каталога хранилища из publi c и повторное выполнение команды storage: link.

0 голосов
/ 07 февраля 2020

при использовании виртуального хостинга использование public путь с storage путем

    'captcha' => [
            'driver' => 'local',
            'root' => public_path() . '/captcha',
            'url' => env('APP_URL').'/captcha',
            'visibility' => 'public',
        ],

        'images' => [
            'driver' => 'local',
            'root' => public_path() . '/images',
            'url' => env('APP_URL').'/images',
            'visibility' => 'public',
        ],

и только имя папки
это работая на меня, вы можете попробовать.

...