محمد رضا
4 سال پیش توسط محمد رضا مطرح شد
4 پاسخ

بارگزاری لاراول در هاست بدون تغییر پوشه public و فقط با htaccess

سلام و درود خدمت همه ی لاراولی های عزیز
اقا من از اونجایی که تازه شروع به کار با لاراول کردم و یه تست کوچیک انجام دادم با لاراول و خواستم پروژه لاراولی خودم رو روی هاست بارگزاری کنم ببینم چطوریاس
هاست من سی پنل هست و هاست سرور جدا نیست
طی اموزشی که مهندس موسوی دادن توی آموزش پروژه محور لاراول میان پروژه رو کپی میکنن کامل و به جای پوشه ی public ، نام public_html رو که پیشفرض دایرکتوری های هاست هست ، قرار میدن و یکسری تغییرات انجام میدن

اما من چون توی سرور خودم دایرکتوری اصلی هاستی که خریدم یه سایت از قبل بود public_html من درگیر اون بود و از addon domain برای سایت دیگم استفاده میخواستم بکنم
addon domain همونطور که همه اساتید اطلاع دارن به این صورت هست که توی یه هاست که خریداری میشه میتونیم چند سایت مختلف با نام خودشون مثلا example1.ir و example2.ir و ... قرار داد و هرکدوم یه پوشه جدا فقط داشته باشن

مشکل اینجا ب وجود اومد که این پوشه ها دیگه public_html ندارن و هرچی داخل این پوشه ها باشه انگار داخل public_html هست
من یه سرچی که زدم خیلی ها حرکتی که استاد موسوی زده بود رو انجام داده بودن و خیلی ها هم اطلاعات داخل پوشه public لاراول رو برمیرادن و یک level عقب تر قرار میدنو یه سری تغییرات هم انجام میدن

کاری که من انجام دادم اینه که با استفاده از htaccess که داخل پوشه اصلی سایت هست یعنی در کنار فایل env و composer.json و ... قرار دادم اومدم همه ی درخواست ها رو به پوشه public انتقال دادم و پروژه کار میکنه
اما نمیدونم چه طبعات و مشکلاتی توی پروژه های بزرگ و کار با فایل و پکیج های مختلف ممکنه ب وجود بیاره

به نظرتون این کار اشتباهه ؟؟ و حتما باید جدا هاست خریده بشه و public اسمش تغییر کنه؟ اخه اون ذوش هم دیدم دوستان ب مشکلاتی خوردن باهاش

این کدی هست که داخل htaccess قرار داره

RewriteEngine on
RewriteCond %{HTTP_HOST} ^yourdomain.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.yourdomain.com$
RewriteCond %{REQUEST_URI} !folder/
RewriteRule (.*) /public/$1 [L]

لینک منبع

@hesammousavi


ثبت پرسش جدید
علی
تخصص : اندروید، لاراول، لینوکس
@aliglzr 4 سال پیش مطرح شد
1

پیشنهاد میکنم از هاست برای لاراول استفاده نکنید چون لاراول با سرور اختصاصی یا مجازی خیلی بهتر کار میکنه تا هاست ولی اگر چاره ای ندارید و امکان هزینه بیشتر هم ندارید بله این قطعه کد مشکلی نداره و از نظر امنیت یا سرعت هم ایرادی ایجاد نمیکنه و مناسب ترین روش همینه.
بهتون پیشنهاد میکنم اگر امکانشو دارید از سرور با وب سرور Nginx استفاده کنید کارایی لاراول خیلی با این وب سرور خوبه.


علی
تخصص : اندروید، لاراول، لینوکس
@aliglzr 4 سال پیش مطرح شد
2

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

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

این rewrite rule تمامی درخواست هایی که به / ختم شدن رو به آدرس public ریدایرکت میکنه.
امیدوارم مفید باشه.


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 4 سال پیش مطرح شد
0

سپاس @aliglzr
قطعه کدی که گذاشتم هم همین عمل انجام میداد ولی موضوع اصلی اینه که ایا این روش مناسب بارگزاری پروژه لاراولی هست؟ یا مشکلاتی رو به همراه داره


علی
تخصص : اندروید، لاراول، لینوکس
@aliglzr 4 سال پیش مطرح شد
1

پیشنهاد میکنم از هاست برای لاراول استفاده نکنید چون لاراول با سرور اختصاصی یا مجازی خیلی بهتر کار میکنه تا هاست ولی اگر چاره ای ندارید و امکان هزینه بیشتر هم ندارید بله این قطعه کد مشکلی نداره و از نظر امنیت یا سرعت هم ایرادی ایجاد نمیکنه و مناسب ترین روش همینه.
بهتون پیشنهاد میکنم اگر امکانشو دارید از سرور با وب سرور Nginx استفاده کنید کارایی لاراول خیلی با این وب سرور خوبه.


محمد رضا
تخصص : Full Stack Developer
@salar.mohammad2013 4 سال پیش مطرح شد
0

سپاس فراوان
از اونجایی که تازه با دنیای لاراول آشنا شدم و از کانفیگ های سرور هم اطلاعی تا کنون ندارم هاست رو برای تمرین و بارگزاری پروژه های کوچیک انتخاب کردم تا مراحل بعدی ببینیم چی میشه.


برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام