Laravel 5.6 404事件

问题描述 投票:0回答:1

我一直围着这个圈子走了一圈。

我们使用捆绑包在Laravel 3中编写了一个CMS系统。现在是使用最新的Lavarel 5.6开发新产品的时候了。

我们希望能够在web.php中定义自己的路由,但CMS包路由文件会选择未定义的所有路由,以便检查CMS中是否定义了页面并返回正确的视图。

在L3,我们做了:

Event::override('404', function() {
    ...magic

在laravel 5.6你不能这样做所以我尝试过各种各样的:

Route::any('/{any}', function ($url = false) {
})->where('any', '.*');

但问题是Laravel加载内存中的所有路由文件,而/ {any}路由会覆盖web.php中定义的任何路由,无论服务提供程序的加载顺序如何,我们都希望允许定义路由,但是清除任何尚未定义的东西。

在L4中,您似乎曾经能够这样做:

App::missing(function($e) {

但是再一次,这在L5中是不可能的

我可以通过异常处理程序运行它,但我希望它在包中工作,因此它可以轻松安装,而且我也无法使其工作!

任何帮助,将不胜感激。

php laravel content-management-system http-status-code-404
1个回答
-1
投票

// other routes redirected to login Route::get('/{any}', function () { return redirect('/login'); })->where('any', '.*s');

尝试这条路线

© www.soinside.com 2019 - 2024. All rights reserved.