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

كيفية التعامل مع الإستثناء Route not found

Mahmoud Alrashidi

السؤال

كيف يمكنني إعادة التوجيه إلى مسار معين إذا أدخل المستخدم أي شيء في عنوان، أي مسار غير موجود، مثلاً:

المسار الصحيح هو:

http://localhost/admin/approve

و أدخل المستخدم العنوان التالي:

 http://localhost/admin/approvedfdgghk

يأتيني الخطأ التالي:

 NotFoundHttpException in RouteCollection.php line 119:

أريد في هذه الحالة إعادة توجيه المُستخدم للصفحة الرئيسية. كيف يمكن ذلك.

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

Recommended Posts

  • 0

لكي تقوم بإعادة توجيه المستخدم عند حدوث خطأ ما يجب أن تقوم بعمل بعض التعديلات على التابع render في الملف app\Exceptions\Handler.php كالتالي:

public function render($request, Exception $exception)
{
    if ($this->isHttpException($exception)) {
        switch (intval($exception->getStatusCode())) {
            // not found
            case 404:
                // اسم المسار الذي سيتم إعادة التوجيه إليه
                return redirect()->route('home');
                break;

            default:
                return $this->renderHttpException($exception);
                break;
        }
    } else {
        return parent::render($request, $exception);
    }
}
}

في الكود السابق سيتم إعادة توجيه المستخدم إلى المسار home إن حدث خطأ 404، أما في الحالات العادية (عدم حدوث خطأ) فسيعمل كل شيء على ما يرام.

بالتوفيق، تحياتي.

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

  • 0

في الملف Handler الموجود في المسار: App\Exceptions\Handler قم بإضافة التالي للتابع render:

if ($exception instanceof NotFoundHttpException) {
    return redirect('/');
}

ليُصبح التابع بالشكل التالي:

public function render($request, Exception $exception)
{
    if ($exception instanceof NotFoundHttpException) {
        return redirect('/');
    }

    return parent::render($request, $exception);
}

و لا تنسى تضمين الصنف NotFoundHttpException في الأعلى:

use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;
رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...