درود.
فایل پروژه رو در یک دایرکتوری بالاتر از دایرکتوری public html با نام laravel آپلود کردم و محتوای فولدر Public رو هم به public html منتقل کردم.
تا اینجای کار همه چی اوکی هست.
ولی وقتی میخام فایلی رو مثلا تصویری رو از داخل پنل مدیریت پروژه آپلود کنم میره داخل دایرکتوری پروژه و فولدر public میسازه و فایل رو آپلود می کنه.
اکثر روش های bind کردن چه داخل index.php و چه در AppProviderService.php انجام دادم ولی بازم هیچ.
لطفا راهنمایی کنید 🙏
ضمن تشکر و سپاس از دو عزیز @salar.mohammad2013 و @developer
بعد از کلی سرچ کردن نهایتا ، پاسخ این چالش رو پیدا کردم:
افزودن تکه کد زیر به فایل public_html > index.php
app()->usePublicPath(__DIR__);
برای مطالعه بیشتر اینجا کلیک کنید.
سلام عزیز
من خیلی وقته از هاست اشتراکی استفاده نمیکنم اما چند مورد رو ذکر میکنم لطفا بررسی کن
یک فایل htaccess هست
RewriteEngine on
RewriteCond %{HTTP_HOST} ^ur-domain.ir$ [NC,OR]
RewriteCond %{HTTP_HOST} ^ur-domain.ir$
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /public/$1 [L]
مورد دیگه توی config>filesystems بخش disks ها
'public' => [
'driver' => 'local',
'root' => storage_path('app/public'),
'url' => env('APP_URL').'/storage',
'visibility' => 'public',
],
و در نهایت متد ذخیره سازیت رو ببین چیه که استفاده میکنی من توی لایو وایر از storeAs استفاده میکنم
فایل ها رو توی public ذخیره نکنید،
ترجیحا توی استوریج و یا چه بهتر توی یه فضای بیرونی s3 ذخیره کنید
درود.
سپاس از وقتی که گذاشتید.
متاسفانه روش ها رو امتحان کردم ولی کارساز نبود.
از متد storeAs و Storage (به همراه symlink) هم استفاده کردم ولی بازم میگرده داخل دایرکتوری پروژه و اونجا داخل public آپلود می کنه.
در ضمن از bind app های زیر هم استفاده کردم.
$this->app->bind('path.public', function()
{
return base_path('public_html');
});
یا
$app->bind('path.public', function()
{
return __DIR__;
});
انگار اصن اینارو نمی خونه !!!
ضمنا ساختار htaccess رو نگاه کردم چیزی تحت عنوان public نداشت که بخوام تغییر بدم . متاسفانه
ضمنا ساختار htaccess رو نگاه کردم چیزی تحت عنوان public نداشت که بخوام تغییر بدم . متاسفانه
به نظر من مشکل شما از همین فایل htaccess هست
شما باید عمل ریدایرکت به همون public رو براش انجام بدی
دیگ نیاز به اون بایند کردنو این داستانا هم نباید باشه
ضمن تشکر و سپاس از دو عزیز @salar.mohammad2013 و @developer
بعد از کلی سرچ کردن نهایتا ، پاسخ این چالش رو پیدا کردم:
افزودن تکه کد زیر به فایل public_html > index.php
app()->usePublicPath(__DIR__);
برای مطالعه بیشتر اینجا کلیک کنید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟