Php 拉雷维尔——”;模拟/调用路由例程

Php 拉雷维尔——”;模拟/调用路由例程,php,laravel,routes,Php,Laravel,Routes,在Laravel中,我希望为简单页面功能提供动态路由 假设我有两条路线,比如/blog将调用BlogController等等。我有这样的路由调用PageController 如果找不到路由(例如/my test page),系统将调用控制器,就像路由是/page/my test page(因此,只有当PageController在数据库中找不到页面时才会抛出404)一样 我看到我可以捕获404异常,但我不知道如何从那里模拟对PageController的路由调用 非常感谢 redirect(ac

在Laravel中,我希望为简单页面功能提供动态路由

假设我有两条路线,比如
/blog
将调用BlogController等等。我有这样的路由调用PageController

如果找不到路由(例如
/my test page
),系统将调用控制器,就像路由是
/page/my test page
(因此,只有当PageController在数据库中找不到页面时才会抛出404)一样

我看到我可以捕获404异常,但我不知道如何从那里模拟对PageController的路由调用

非常感谢

redirect(action(PageController@methodName))

这能解决你的问题吗?当然,您需要导入redirect()方法。

为什么不为
PageController
注册路由
/{slug}
?因为我的路由是从不同的路由文件(针对不同的模块)动态加载的,并且我无法确保最后注册此路由。因此,我不想,比如说,
/blog
赶上
PageController
,而不是
BlogController
“我不能确保这条路线会最后注册”-为什么不?因为系统有许多模块,并且它们是为系统的每个实例动态注册/启用的。我想我可以硬编码,使特定的“页面”模块最后注册其路由,但似乎是一种黑客解决方案?它确实以某种方式解决了它,然而,我正在寻找是否有一种不改变URL的可能解决方案?因此,对于用户而言,它保持为
http://example.com/my-test-page
这将导航到控制器方法,在那里您可以返回所需的视图。我是否遗漏了什么?是否
重定向到操作?因此,用户将返回
http://example.com/page/my-test-page
?它会将您带到控制器,在那里您可以决定是返回我的测试页面还是返回页面/我的测试页面。