我正在使用Laravel。 我想把自己的婚礼邀请放在一起。 我的公共文件夹中有一个文件夹,它有样式和脚本。
我想知道我是否可以指向该文件夹,而不是将所有内容复制并粘贴到新的刀片文件中。
路线
Route::get('/wedding', 'WeddingController@index');
WeddingController
<?php namespace App\Http\Controllers;
class WeddingController extends Controller {
public function index()
{
return view('wedding.index');
}
}
问题
我想知道我是否可以指出我的索引功能从我的 / public 文件夹中的某个文件夹加载index.html
。
我们是否必须从.blade
目录中加载app/resources/views
文件?
对此有任何帮助/建议将不胜感激。
答案 0 :(得分:5)
只需将婚礼文件夹直接放在公共文件夹中:
mv wedding/ /path/to/laravel/public
然后访问带有婚礼后缀的网站网址:
http://my-site.com/wedding
这将从婚礼文件夹中加载index.html
。
这可以通过您的try_files
配置文件中的Nginx&n /etc/nginx/sites-enabled/my-site
指令运行:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
这指示Nginx首先搜索与URL对应的实际文件(例如,/css/app.css
,/wedding/index.html
等)。如果找不到匹配的文件(例如它通常会返回404未找到),那么它应该将查询字符串作为参数传递给index.php脚本。
答案 1 :(得分:3)
使用File
Facade
use File;
return File::get(public_path() . '/to new folder name/index.html');
答案 2 :(得分:1)
一种解决方案是将您的结婚邀请resources/views
重命名为cd path/to/laravel
mkdir resources/views/wedding
mv public/wedding/index.html resources/views/wedding/index.php
并将其放在public function index()
{
return view('wedding.index');
}
文件夹中,以便它成为Laravel模板。
public/
然后您可以根据需要从控制器中调用它:
{{1}}
当然,使用此方法,您必须确保所有CSS / JavaScript /图片网址都已正确映射到{{1}}文件夹中的各自位置。