سلام
من بعد از آپلود کردن پروژه روی هاست پوشه public رو درون پوشه های به نام laravel در یک سطح بالاتر آپلود کردم و کارهاش رو انجام دادم. الان همه ی عکس ها و فایلهای و جاوا اسکریپت و ... به درستی کار می کنند. اما من تصمیم گرفتم پوشه یکی از فایلهای جاوااسکریپتم رو تغییر بدم.
این کار رو به صورت دستی هم روی لوکال و هم روی هاست انجام دادم. روی لوکال همه چیز درسته و فایل لود می شه و کار می کنه. منتها روی هاست فایل لود نمی شه. آدرس سایت رو هم که تو آدرس بار می زنم خطای 404 می ده. در حالیکه مطمئن هستم مسیر به درستی تایپ شده.
آدرس فایل در روی هاست: https://system.jazebeedu.ir/admin/js/plugins/ckeditor/ckeditor.js
برای بررسی یک فایل دیگر به نام test هم کنار همین فایل و داخل پوشه جدیدی که ایجاد کردم، درست کردم. اون رو هم نمی تونم با ادرس بار ببینم و برای اون هم خطای 404 دارم.
اما هموطنور که گفتم روی لوکال مشکلی ندارم.
لطفا راهنماییم کنید که این مشکل از کجا می تونه باشه؟
با تشکر
برای php artisan optimize در هاست اشتراکی ساده ترین حالت پیشنهاد میکنم یک روت تعریف کنید و درون فانگشن روت از دستور
return Artisan::call('optimize')
استفاده کنید .
و برای فراخوانی استایل دهی ها و فایل ها در پروژه فرض رو بر این میگیرم که شما پوشه public پروژه رو بر روی سرور درون پوشه public_html قرار دادید و تنظیمات لازم رو انجام دادید .
برای ادرس سایت شما https://system.jazebeedu.ir باشه و فایل شما درون پوشه public_html توی مسیر زیر باشه
admin/js/plugins/ckeditor/ckeditor.js
پیشنهاد میکنم مثل کد زیر استفاده کنید .
<script src="{{asset('admin/js/plugins/ckeditor/ckeditor.js')"}}></script>
پیشنهاد میکنم سطح دسترسی رو همه رو روی 755 قرار بدید
و نکته نهایی چک کنید مالک فایل ها چه یوزری می باشد توی cpanel , directadmin بخش فایل منیجر مالک فایل رو هم نمایش میده chown یا مالک فایل رو هم چک کنید چیزی چز یوزر که دامنه با آن تعریف شده نباشد مالک با این فرم نوشته میشود root/root و یا admin/admin که نام یوزر و گروه یوزر هست این مشکل تصور نمیکنم توی هاست های اشتراکی پیش بیاد اما اگر فایل ها از گیت هاب وارد سرور شده باشند احتمال داد .
در اخر پیشنهاد شخصی بنده این مورد می باشد دقیقا عین فایل پروژه لاراول رو درون public_html قرار دهید و با .htaccess درخواست رو ریدایرکت کنید به پوشه public از لحاظ امنیتی این روش امنیت بالا تری نصبت به روشی که انجام داده ای دارد
توی سرور سطح دسترسی به فایل و همچنین یوزر اونر فایل رو چک کنید و اتچ کردن فایل رو چک کنید در هنگام لود با asset کال کردید یا url توی env هم گزینه APP_URI رو به ادرس سایت تغییر بدید و در نهایت php artisan optimize بزنید
@hosseinradvictor
سلام
ممنون از پاسختون.
سطح دسترسی فایل 644 و پوشه مربوطه 755 است که فکر می کنم این درست باشه.
منظورتون رو از اتچ کردن متوجه نشدم. (احتمالا بلد نیستم)
برای لود از asset استفاده کردم. (همین فایل رو در یک پوشه قبلتر با همین روند نوشته بودم که مشکلی نداشت)
APP_URI رو به آدرس سایت تغییر دادم. ولی با توجه به اینکه از هاست اشتراکی استفاده می کنم و به ssh دسترسی ندارم نمی دونم چطور می تونم دستور php artisan optimize رو اجرا کنم؟
البته هنوز هم مشکل حل نشده.
برای php artisan optimize در هاست اشتراکی ساده ترین حالت پیشنهاد میکنم یک روت تعریف کنید و درون فانگشن روت از دستور
return Artisan::call('optimize')
استفاده کنید .
و برای فراخوانی استایل دهی ها و فایل ها در پروژه فرض رو بر این میگیرم که شما پوشه public پروژه رو بر روی سرور درون پوشه public_html قرار دادید و تنظیمات لازم رو انجام دادید .
برای ادرس سایت شما https://system.jazebeedu.ir باشه و فایل شما درون پوشه public_html توی مسیر زیر باشه
admin/js/plugins/ckeditor/ckeditor.js
پیشنهاد میکنم مثل کد زیر استفاده کنید .
<script src="{{asset('admin/js/plugins/ckeditor/ckeditor.js')"}}></script>
پیشنهاد میکنم سطح دسترسی رو همه رو روی 755 قرار بدید
و نکته نهایی چک کنید مالک فایل ها چه یوزری می باشد توی cpanel , directadmin بخش فایل منیجر مالک فایل رو هم نمایش میده chown یا مالک فایل رو هم چک کنید چیزی چز یوزر که دامنه با آن تعریف شده نباشد مالک با این فرم نوشته میشود root/root و یا admin/admin که نام یوزر و گروه یوزر هست این مشکل تصور نمیکنم توی هاست های اشتراکی پیش بیاد اما اگر فایل ها از گیت هاب وارد سرور شده باشند احتمال داد .
در اخر پیشنهاد شخصی بنده این مورد می باشد دقیقا عین فایل پروژه لاراول رو درون public_html قرار دهید و با .htaccess درخواست رو ریدایرکت کنید به پوشه public از لحاظ امنیتی این روش امنیت بالا تری نصبت به روشی که انجام داده ای دارد
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟