Laravel - 将所有路由请求指向单个视图或功能[重复]

Posted

技术标签:

【中文标题】Laravel - 将所有路由请求指向单个视图或功能[重复]【英文标题】:Laravel - Point all route requests to single view or function [duplicate] 【发布时间】:2021-10-13 18:30:41 【问题描述】:

我有一个主视图,希望我的所有 GET 路由每次都返回相同的值。 例如

Route::get('/user', function() 
  view('layout');
);
Route::get('/user/add', function() 
  view('layout');
);

如何编写单个路由函数,以便每次都返回布局视图?这意味着在任何情况下或传递任何数量的参数时,它都应该始终返回布局视图。

【问题讨论】:

你可以加Route::get('/user/any' ... 是的,但在这种情况下,/user 必须是硬编码的。我想避免它。 你可以在没有用户的情况下使用'/any'。想知道你为什么要这样做,这很奇怪。 【参考方案1】:

您可以在路由定义中使用变量。这将适用于所有路线。

Route::get('/route?', function() 
  view('layout');
);

我认为更好的方法是查看CMS 结构是如何做到的。并使用URL 的部分进行操作,您可以处理它以进行更多自定义。

Route::get('/model?/action?', function($model, $action) 
    if ($model === 'user') 
        return view('user', compact('action'));
     

    return view('default');
);

【讨论】:

以上是关于Laravel - 将所有路由请求指向单个视图或功能[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 laravel 的单个控制器中传递多个路由

将所有 POST 请求路由到单个 ApiController

即使 url、路由器和控制器指向同一个地方,Laravel 和 Ajax 也会根据请求返回 404

带有输入表单的 Laravel 路由视图

当虚拟主机指向 HTDOCS 之外时,Apache 会中断 laravel 路由

laravel教程1路由