در این پست خواهید خواند:

    در این آموزش میخواهیم ببینیم چطور میشود پوشه 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';




    حالت دوم  زمانی میباشد که پوشه ای بنام public داشته باشیم فایل های سایت داخل آن باشند و بدون انجام تغییرات فوق قصد داشته باشیم هنگام وارد کردن آدرس سایت در مرورگر بجای نمایش public_html محتویات public نمایش داده شوند.

    برای این کار میتوانیم از فایل htaccess. استفاده نمائیم.

    RewriteEngine on
    RewriteCond %{REQUEST_URI} !^public
    RewriteRule ^(.*)$ public/$1 [L]

    موفق باشید.


    بردیا
    نویسنده

    سلام، بردیا هستم و بیشتر از 10 سال هست که در زمینه فناوری اطلاعات فعال هستم

    ثبت یک نظر

    آدرس ایمیل شما منتشر نخواهد شد. فیلدهای الزامی مشخص شده اند *

    0 نظر ثبت شده

    اینستاگرام