У меня получилось подключить медиа-менеджер к папке images созданной в корне сайта. Но нужно чтобы опытные люди посмотрели нет ли в этом решении ошибки с безопасностью, т.к. я ларавел не знаю и только что впервые открыл через гугл его документацию.
Пошагово как я это сделал:
- В файле
\config\filesystems.php
в раздел Filesystem Disks добавляем новый драйвер, я его назвал 'images' и указал в его настройке 'root' => base_path(), то есть корень сайта, вместо дефолтного storage_path(). Вставил вот так:
'disks' => [
'local' => [
'driver' => 'local',
'root' => storage_path('app'),
],
'images' => [
'driver' => 'local',
'root' => base_path(),
],
- В файле '\config\cms.php' для настройки media указал следующие значения:
'storage' => [
'uploads' => [
'disk' => 'local',
'folder' => 'uploads',
'path' => '/storage/app/uploads',
],
'media' => [
'disk' => 'images',
'folder' => 'images',
'path' => '/images',
],
],
Так как три раза подряд применяется images, с этим может быть неразбериха.
- Для 'disk' указываем название драйвера, который добавили в первом шаге
- Для 'folder' - папка с медиа-файлами
- Для 'path' - путь к папке с медиа-файлами.
Так как у меня для медиа-файлов папка images в корне сайта, то для 'folder' и 'path' получились соответствующие значения. Наверное лучше драйвер называть что то типа mediamanager, чтоб не путаться.
- И в конце не забудьте в файл '.htaccess' (находится в корне сайта) в раздел White listed folders добавить исключение для вашей папки:
RewriteCond %{REQUEST_FILENAME} !/images/*
При этом, наверное, можно удалить или закомментировать строку:
RewriteCond %{REQUEST_FILENAME} !/storage/app/media/.*
Файлы не обязательно загружать через медиа-менеджер, можно через ftp залить - медиа-менеджер их увидит.
Спасибо за помощь! Я сам к этому решению не пришёл бы.