WebGee Docsمركز المساعدة
التطوير
ترحيل مجاني وضمان 30 يومًااعرف كيف

تقديم Laravel من مجلد public

وجّه نطاقك إلى مجلد ‎/public في Laravel، ليصل الزوار إلى example.com لا إلى example.com/public.

اجعل example.com يقدّم تطبيق Laravel دون /public في الرابط. ينطبق على الاستضافة المشتركة والموزِّعة والمميّزة.

يتوقّع Laravel أن يكون مجلد public وحده متاحًا للويب. وعلى الاستضافة المشتركة لا تستطيع عادةً تغيير الجذر المستنَدي، فتؤدي قاعدة إعادة كتابة المهمة نفسها.

هذا يهمّ للأمان لا للترتيب فقط. فإن كان مجلد Laravel كله متاحًا للويب، فيمكن طلب .env — الذي يحمل كلمة مرور قاعدة بياناتك ومفتاح التطبيق — مباشرة عبر HTTP.

أضف إعادة الكتابة

  1. في cPanel، افتح File Manager وانتقل إلى public_html.

  2. فعّل Settings ← Show Hidden Files (dotfiles)، فـ .htaccess مخفي افتراضيًا.

  3. افتح .htaccess، أو أنشئه إن لم يكن موجودًا.

  4. أضف هذا في أعلى الملف:

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

تأكّد أنه نجح

زر https://example.com. وينبغي أن يُحمَّل تطبيقك، دون /public في العنوان.

ثم تأكّد أن الملف المهم غير قابل للوصول:

curl -sI https://example.com/.env | head -n 1

وتريد 403 أو 404. أما 200 فتعني أن .env يُقدَّم — توقّف وأصلح ذلك قبل المضيّ.

خيار أفضل إن كان متاحًا لك

على خادم VPS أو مخصّص، اضبط الجذر المستنَدي على مجلد public مباشرة في WHM بدل إعادة الكتابة. فهو جزء متحرّك أقل، ولا يُكشَف شيء فوق public أصلًا.

إن لم ينجح

  • حلقة إعادة توجيه — فهناك RewriteRule أخرى فوق هذه. ويجب أن تأتي قاعدة Laravel أولًا.
  • الرابط القديم مخزَّن مؤقتًا — امسح ذاكرة متصفحك، أو اختبر في نافذة خاصة.
  • خطأ 500 — راجع error_log في public_html. راجع العثور على سجل الأخطاء.

اقرأ أيضًا

في هذه الصفحة

استضافتك في مكان آخر؟

الاستضافة السحابية

لوحة cPanel على أقراص NVMe، مع LiteSpeed وشهادة SSL مجانية ونسخ احتياطي يومي.

اطّلع على الباقاتترحيل مجاني