
تغییر مسیر public به public_html در Laravel 11
- 27 بهمن 1403
نحوه تغییر مسیر پیشفرض public به public_html در Laravel 11 برای هاستهای اشتراکی را توضیح دادهایم تا بتوانید پروژه خود را بدون مشکل اجرا کنید.
تغییر مسیر public به public_html در Laravel 11 (مخصوص هاست اشتراکی)
در هاستهای اشتراکی، دایرکتوری اصلی که به عنوان روت سایت در نظر گرفته میشود، معمولاً public_html
است. اما در Laravel بهصورت پیشفرض، فایلهای عمومی در دایرکتوری public
قرار دارند. اگر بخواهید Laravel را روی هاست اشتراکی اجرا کنید، نیاز به تغییر مسیر public
به public_html
خواهید داشت. در این مقاله، به روش انجام این کار میپردازیم.
چرا باید مسیر public را تغییر دهیم؟
در بیشتر هاستهای اشتراکی، امکان تنظیم دایرکتوری public
به عنوان Root Directory وجود ندارد و تنها public_html به عنوان دایرکتوری اصلی شناخته میشود. بنابراین، برای اجرای صحیح Laravel بدون نیاز به تغییر ساختار هاست، لازم است مسیر public
را به public_html
تغییر دهیم.
مراحل تغییر مسیر public به public_html
۱. انتقال فایلهای public به public_html
ابتدا تمامی محتویات پوشه public
را به public_html
منتقل کنید. این کار را میتوان از طریق File Manager در پنل هاست یا از طریق FTP انجام داد.
۲. ویرایش فایل bootstrap/app.php
برای تغییر مسیر دایرکتوری public
، باید فایل bootstrap/app.php
را ویرایش کنیم. این فایل را باز کرده و تغییرات زیر را اعمال کنید:
<?php use Illuminate\Foundation\Application; use Illuminate\Foundation\Configuration\Exceptions; use Illuminate\Foundation\Configuration\Middleware; use Symfony\Component\HttpKernel\Exception\HttpException; $app = Application::configure(basePath: dirname(__DIR__)) ->withRouting( web: __DIR__.'/../routes/web.php', commands: __DIR__.'/../routes/console.php', health: '/up', ) ->withMiddleware(function (Middleware $middleware) { }) ->withExceptions(function (Exceptions $exceptions) { })->create(); $app->usePublicPath(dirname(__DIR__) . '/public_html'); return $app;
این تغییر به Laravel میگوید که به جای public
از public_html
به عنوان مسیر دایرکتوری عمومی استفاده کند.
۳. بررسی و تنظیم .htaccess
ممکن است نیاز باشد فایل .htaccess
را نیز تغییر دهید تا درخواستهای ورودی به مسیر صحیح هدایت شوند. درون فایل .htaccess
موجود در public_html
، اطمینان حاصل کنید که محتوای زیر وجود دارد:
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)$ public_html/$1 [L] </IfModule>
این تغییرات باعث میشود که تمام درخواستها به مسیر صحیح در public_html
هدایت شوند.
۴. بررسی عملکرد تغییرات
اکنون سایت خود را بررسی کنید تا مطمئن شوید که همه چیز به درستی کار میکند. اگر با خطایی مواجه شدید، مسیر فایلها و تغییرات انجامشده را دوباره بررسی کنید.
در بهبود مقاله شریک باشید
قبل از ثبت نظر باید وارد حساب کاربری خود شوید و اطلاعات پروفایل را کامل کنید
ثبت نام یا ورودقوانین ارسال دیدگاه
لطفاً قبل از ارسال دیدگاه، قوانین زیر را مطالعه کنید:
- دیدگاه باید مرتبط با موضوع مقاله باشد.
- از بهکار بردن الفاظ نامناسب خودداری کنید.
- تبلیغات در بخش نظرات مجاز نیست.