如何路由到静态文件夹并在该文件夹中提供 html 内容?

How to route to a static folder and serve html contents within that folder ?

我是 laravel 的初学者,正在尝试通过路由提供 html 内容。内容是关于 api 文档的,所以我想通过路由提供它。文档包含在 /doc 中,具有以下目录结构。

/laravel_project
  .
  .
  doc/
   .
   .
   index.html

我想在以下路线上提供此内容:

Route::get('/apiDoc', function () {

    return File::get(public_path() . '/doc/index.html');

});

我按上面的方法试过了,但没有用。请帮助我如何提供这些内容

谢谢。

您可以将静态文件夹保留在 views 文件夹下:

/laravel_project
 - Resources
  - Views
   - Doc
    - index.html

创建如下控制器方法:

public function index($slug = null)
{
    if ($slug == null)
        abort(404);

    $viewTarget = 'doc.' . $slug;

    if (view()->exists( $viewTarget )) {
        return view( $viewTarget );
    } else {
        abort(404);
    }

    return view('home');
}

现在您可以为此方法创建路由:

Route::get('docs/{urlSlug}', 'YourController@index');

现在您可以像这样访问 url:project.url/docs/fileName(您不需要添加文件扩展名)