اذهب إلى المحتوى
  • 0

Laravel 404 الصفحة غير موجودة

Mahmoud Alrashidi

السؤال

أواجه المُشكلة التالية أريد عرض صفحة إنشاء موضوع جديد لكن الصفحة لا تظهر و يظهر خطأ 404 مع أن الصفحة موجودة و المسار الخاص بها موجود ضمن الملف web.php :

Route::get('/threads/create', [ThreadController::class, 'create']);

هل من حل لهذه المُشكلة.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

 قد تحدث المُشكلة بسبب أحد النقاط التالية:

  • أنك تقوم بتصفح الرابط بشكل خاطئ أي أن المسار الذي تُحاول الوصول إليه فعلاً غير موجود. فيجب التأكد من هذه النُقطة أولاً 
  • أن المسار الذي تحاول الوصول إليه مُتضارب مع مسار آخر موجود فوقه في الترتيب فإن كان لديك مسار آخر بالشكل التالي: 
Route::get('/threads/{thread}', [ThreadController::class, 'show']);
Route::get('/threads/create', [ThreadController::class, 'create']);

و كنت تُحاول الوصول إلى الرابط threads/create/ فلن يتم أخذ المسار الثاني بعين الإعتبار بل سيتم في هذه الحالة تنفيذ المسار الأول و تمرير الكلمة create كمُعامل للتابع show. لذلك إن أردت أن يكون المسار الخاص بالتابع create له اولوية ضعه فوق المسار الذي به مُعامل بهذا الشكل:

Route::get('/threads/create', [ThreadController::class, 'create']);
Route::get('/threads/{thread}', [ThreadController::class, 'show']);
  • أن التطبيق الخاص بك يعمل بالcache أي أن المسارات مُخزنة في الcache فأي مسار جديد تقوم بإضافته لا يتم الإنتباه له و في هذه الحالة يجب عليك عمل clear لل cache الخاص بالمسارات بتنفيذ أحد هذه الأوامر:
php artisan route:clear

// او

php artisan optimize:clear

حيث أن الأمر الأخير يقوم بعمل clear لعدة أشياء ليس المسارات فحسب بل صفحات العرض و الإعدادات وما إلى ذلك.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0

دائما تأكد من logs عن طريق المسار التالي storage/logs تجد ملفات logs بتاريخ اليوم أو ملف كامل لجميع logs ويمكنك فتح الملفات و النظر بسبب المشكلة ممكن ان تكون قد أخطأت في كتابة اسم الcontroller في ملف المخصص للمسارات مثل 

Route::get('/home', 'HomeController@index')->name('home');

ممكن أن تكون قد أخطأت في كتابة اسم المسار مثل

 /home 

أو أخطأت في كتابة اسم controller مثل HomeController. أو ايضا تفقد الدالة name التي تعطي اسم المسار  و في حالة الكود أعلاه تفقد اسم المسار و طريقة التوجيه المستخدمة فمثلا ممكن ان نوجه صفحة عن طريق 

<a href="{{ route('home') }}">الصفحة الرئيسية</a>

واخيرا قم بتنفيذ 

php artisan cache:clear
php artisan route:clear
php artisan config:clear
php artisan view:clear

أو يمكنك عن طريق المتصفح بحذف الكاش بوضع 

Route::get('/cache-clear', function() {
    Artisan::call('cache:clear');
});

في ملف web.php  ومن ثم في المتصفح قم بفتح المسار

/cache-clear

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...