در این آموزش برسی میکنیم چطور پوشه public لاراول رو به public_html یا هر نام دیگه ای تغییر بدیم و سپس بقیه فایل ها رو درون یک فولدر بریزیم و با نامی مجزا در کنار public_html داشته باشیم (برای عدم دستری از روت سایت به فایل ها و پوشه های لاراول)
فرض کنین میخوام برای پروژم فقط دو فولدر public_html و laravel داشته باشم که بجز public_html همه فایل ها و فولدر های قدیم داخل laravel باشند:
۱. ابتدا فایل index.php از فولدر public رو ادیت میکنیم
//دو خط زیر رو تغییر مسیر بدید به آدرس جدیدتون require __DIR__.'/../laravel/vendor/autoload.php'; $app = require_once __DIR__.'/../laravel/bootstrap/app.php';
۲. فایل AppServiceProvider.php که در مسیر app/Providers هست رو ویرایش میکنیم و کد زیر رو به متد register اضافه و آدرس دهی مناسب میکنیم.
$this->app->bind('path.public', function() { return realpath(base_path().'/../public_html'); });
۳. فایل server.php از روت پروژه رو ویرایش میکنیم و در ۲ قسمت باید آدرس جدیمون رو قرار بدیم.
if ($uri !== '/' && file_exists(__DIR__.'/../public_html'.$uri)) { return false; } require_once __DIR__.'/../public_html/index.php';
موفق باشید
دست شما درد نکنه – عالی بود
گاهی وقتا یه نوشته ی چند خطی یه مشکل بزرگ رو حل میکنه :)))
دکت گرم واقعا بدردم خورد :*
سلام
روزتون بخیر
اگه بخواهیم توی هاستمون پروژه لاراول رو به صورت دمو داشته باشیم، به این صورت که یک پوشه به نام demo ایجاد کرده و فایل هایی که داخل پوشه public پروژه بوده را به آن منتقل کنیم، برای دسترسی به خواندن فایل ها باید کجا آدرس پوشه demo رو وارد کنیم
من الان این کار رو انجام دادم، سایت هم تو پوشه دمو بالا میاد ولی آدرس فایل های css و js رو کماکان از روت سایت میخونه، برای رفع این مشکل باید چیکار کنم؟