Laravel 中的多个 404 错误页面 - 更改布局

Multiple 404 error pages in Laravel - changing layout

我在一个站点中有多个设计,所以我需要做的是使用正确的设计模板来提供特定页面。在这种情况下,我试图为 404 提供正确的主布局。

我目前正在使用以下工具,但 PHP 在刀片中不是正确的选择,所以我可能会迷路。

我抓住引荐来源网址,寻找文件夹,并发布正确的布局:

$referer = Request::referer();

if (strpos($referer,'ext') !== false) {
   echo "@extends('layouts.ext_2.master')";
} else {
    echo "@extends('layouts.master')";
}

路线:

App::missing(function($exception) {
    return Response::view('error-404', array(), 404);
});

您最好在控制器中处理此问题,return 每种情况都有不同的视图:

$referer = Request::referer();

if (strpos($referer,'ext') !== false) {
   return view('layouts.ext_2.master');
} else {
    return view('layouts.master');
}

如果出于某种原因,你想在模板中包含条件逻辑,你可以将变量传递给视图,我认为这样更安全:

$referer = Request::referer();

$layout = (strpos($referer,'ext') ? 'layouts.ext_2.master' : 'layouts.master';

    return view('main.view', compact('layout'));
}

并且在视图中:

@include($layout)