لتجعل مشروعك يعمل على اسم النطاق الأساسي أو من خلال مجلد المشروع دون الدخول لمجلد public نفذ التالي:
1- قم بإخراج كل محتوي المجلد public خارجه -وهو المجلد الذي تضع به محتويات مشروعك من ملفات css و javaScript وصور وخلافه-.
2- إفتح الملف index.php غير المسار الجديد للوصول للملف autoload.php والملف start.php بإزالة /.. لأننا نقلنا الملف index.php لمجلد المشروع الأساسي أي يصبح المسار كالتالي:
require __DIR__.'/bootstrap/autoload.php';
$app = require_once __DIR__.'/bootstrap/start.php';
3- أدخل للمجلد bootstrap ثم عدل المسارات في الملف paths.php ما يحتاج تعديل هو مسار ملفات المشروع المشروع في السطر 29 قم بإزالة كلمة public كالتالي:
'public' => __DIR__.'/..',
:) إنتهى الآن مشروعك يعمل مباشراً
التعليقات
حل رائع يا اخي ، لكن يمكن ببساطة ان تغير
public
الي
public_html
ثم تذهب لملف
/bootstrap/paths.php
و تغير مسار
'public' => __DIR__.'/../public_html/
و عند استخدام اداة للتعامل مع ftp ارفع مشروعك الي www و ليس الي public_html .
اولا و اخرا جزاك الله خيرا
فقط ضع هذا الكود فى ملف '.htaccess' فى مجلد المشروع سيحول الدخول لمجلد public
'
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
'
يبدو بأن "المُطور الجاد" يستخدم استضافة خاصة به لاستضافة تطبيقه (خاصة مع تدني أسعار الخواديم الافتراضية) بدل الاستعانة بالاستضافات المُشتركة وبالتالي فإنه "رسميا" يُمكن القول بأنه لا وجود لمثل هذا المُشكل من أساسه :)
"المطور الجاد" هو من يذلّل برامجه لكل العملاء مع اختلاف خوادمهم وتدني اعتمادياتها!
"المطور الجاد" يجب أن يذلل مشاكل الإطار لتُبنى عليه برامج مجانية يحمّلها ويركبها أشخاص -يحبّون Next Next و- لا خبرة لهم في البرمجة والخوادم!
يبدو بأننا نتكلّم عن أمرين مُختلفين. ما قصدته بالمطور الجاد هو من سيستخدم إطار العمل وليس من يقوم بتوفيره.
لا أعتقد بأن laravel تستهدف جماعة next next لاحظ مثلا أن ما يُطلق عليه "learning curve" يزداد تعقيدًا مع كل إصدار.
ألا تعتقد بأنه من ليست لديه أية خبرة بالبرمجة فسيشرع في تعلّم أساسيات البرمجة والـ PHP أولا بدل الانتقال مُباشرة إلى إطار عمل؟
Laravel (أو PHP) تدرج معها سيرفر جاهز تستطيع الولوج له عبر القيام بالأمر التالي من سطر الأوامر
php artisan serve
يفعل هذا السيرفر الذي يجعل مجلد public هو الرئيسي وتستطيع حينها الولوج له عبر localhost:8000
PHP هي في الواقع من تملك سيرفر وليس laravel ويمكن أظن laravel أضافت له بعض التخصيص
لا أفترض أنك تستطيع استخدام laravel في استضافة محدود أصلا إلا بطرق ملتوية وتتطلب شروط صعبة على الاستضافات المشتركة، مثل إصدار PHP 5.4 وأعلى
حدث هذا معي عند محاولتي إستضافة الإصدار V4.2 على إستضافة ipage المشتركة فلم يعمل الإطار على الإستضافة فأضررت لإستخدام V4.1، تحدثت معهم بخصوص الترقية فردون بأنه ليس لديهم نيه لهذا حالياً مازالت الإستضافة تعمل على PHP V5.3.1، بعكس إستضافتي مع dynadot بمجرد مراسلتهم عن التحديث قاموا بالتحديث لأخر إصدار مستقر من اللغة.