直接从公用文件夹加载HTML文件,如Laravel中的View

kyo*_*kyo 7 php view laravel blade laravel-5

我正在使用Laravel.我想把自己的婚礼邀请放在一起.我的公共文件夹中有一个文件夹,它有样式和脚本.

我想知道我是否可以指向该文件夹,而不是将所有内容复制并粘贴到新的刀片文件中.


路线

Route::get('/wedding', 'WeddingController@index');


WeddingController

<?php namespace App\Http\Controllers;

class WeddingController extends Controller {


    public function index()
    {
        return view('wedding.index');
    }

}
Run Code Online (Sandbox Code Playgroud)

我想知道我是否可以指向我的索引函数来加载index.html我的/ public文件夹中的一个文件夹.

我们是否必须.bladeapp/resources/views目录中加载文件?

任何有关这方面的帮助/建议将不胜感激.

Ben*_*aar 5

只需将婚礼文件夹直接放在公共文件夹内:

mv wedding/ /path/to/laravel/public
Run Code Online (Sandbox Code Playgroud)

然后访问带有后缀的网站URL:

http://my-site.com/wedding
Run Code Online (Sandbox Code Playgroud)

这将从index.html婚礼文件夹中加载。

这可以通过Nginx try_files指令在您的/etc/nginx/sites-enabled/my-site配置文件中工作:

location / {
    try_files $uri $uri/ /index.php?$query_string;
}
Run Code Online (Sandbox Code Playgroud)

这指示的Nginx到第一搜索对应于URL(例如,实际的文件/css/app.css/wedding/index.html等)。如果找不到匹配的文件(例如,通常会返回未找到的404),则应将查询字符串作为参数传递给index.php脚本。


小智 5

使用FileFacade从控制器加载静态文件

use File;

return File::get(public_path() . '/to new folder name/index.html');
Run Code Online (Sandbox Code Playgroud)

  • 对于 laravel 5.6 `使用 Illuminate\Support\Facades\File;`。 (2认同)