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

时间:2016-11-15 06:11:21

标签: laravel laravel-5 laravel-5.3

我是laravel& amp;的初学者试图通过路线提供HTML内容。内容是关于api文档,所以我想通过路由服务。 documetation包含/ doc,具有以下目录结构。

/laravel_project
  .
  .
  doc/
   .
   .
   index.html

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

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

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

});

我试过上面的但是没有用。请帮我一下,我该如何提供这个内容

感谢。

1 个答案:

答案 0 :(得分:0)

您可以将静态文件夹保存在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');

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