【问题标题】:How to serve a folder containing non-blade (Html) with laravel routes? [duplicate]如何使用 laravel 路由提供包含非刀片(Html)的文件夹? [复制]
【发布时间】:2022-01-05 20:14:04
【问题描述】:

我可以在 Laravel 的 public 文件夹中提供 html 文件和文件夹。

但我想将它们用作视图并将它们呈现为视图,

所以我可以在它们上使用身份验证和授权中间件

如果它们是很多文件,我不想为每个文件写很多路由。

【问题讨论】:

  • @manjkiran appathurai :它没有,因为它不能帮助我不为分层结构编写分层路由

标签: php laravel laravel-routing


【解决方案1】:

解决方案是在resources/views 下创建静态资产 喜欢resources/views/static

例如:

resources/views/static/foo.html
resources/views/static/bar/baz.html

之后我可以在我的路由文件中放置一个类似通配符的路由,

然后强制视图引擎接受 html 扩展,并像刀片层次结构一样转换 url 层次结构


Route::get('/pages/{url?}', function ($url) {
    View::addExtension('html', 'php');
    $viewPath = str_replace(DIRECTORY_SEPARATOR, '.', pathinfo($url, PATHINFO_DIRNAME)) . '.'.pathinfo($url, PATHINFO_FILENAME);
    return View::make('static.'. $viewPath);
})->where('url', '(.*)');

【讨论】:

    猜你喜欢
    • 2013-11-22
    • 1970-01-01
    • 2021-02-08
    • 1970-01-01
    • 1970-01-01
    • 2018-09-28
    • 1970-01-01
    • 2014-12-27
    • 2019-05-22
    相关资源
    最近更新 更多