直接从 public 文件夹加载 HTML 文件作为在 Laravel 中查看
Load an HTML file directly from public folder as View in Laravel
我正在使用 Laravel。
我正在尝试制作我自己的结婚请柬。
我的 public 文件夹中有一个文件夹,将为其设置样式和脚本。
我想知道我是否可以指向该文件夹,而不是 copy-and-paste 将所有内容都指向一个新的 blade 文件。
路线
Route::get('/wedding', 'WeddingController@index');
婚礼主控
<?php namespace App\Http\Controllers;
class WeddingController extends Controller {
public function index()
{
return view('wedding.index');
}
}
问题
我想知道我是否可以让我的索引函数从我的 /public 文件夹中的一个文件夹加载 index.html
。
我们是否必须从 app/resources/views
目录加载 .blade
文件?
如有任何帮助/建议,我们将不胜感激。
只需将婚礼文件夹直接放在 public 文件夹中即可:
mv wedding/ /path/to/laravel/public
然后访问带有婚礼后缀的网站URL:
http://my-site.com/wedding
这将从婚礼文件夹中加载 index.html
。
这通过 /etc/nginx/sites-enabled/my-site
配置文件中 Nginx 的 try_files
指令起作用:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
这指示 Nginx 首先搜索与 URL 对应的实际文件(例如,/css/app.css
、/wedding/index.html
等)。如果它没有找到匹配的文件(例如,它通常会 return 找不到 404),那么它应该将查询字符串作为参数传递给 index.php 脚本。
一个解决方案是将您的婚礼请柬的 index.html
重命名为 index.php
并将其放入您的 resources/views
文件夹中,使其成为 Laravel 模板。
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');
}
当然,使用此方法,您必须确保所有 CSS/JavaScript/image 网址都正确映射到 public/
文件夹中的相应位置。
使用File
Facade
从控制器加载静态文件
use File;
return File::get(public_path() . '/to new folder name/index.html');
我正在使用 Laravel。 我正在尝试制作我自己的结婚请柬。 我的 public 文件夹中有一个文件夹,将为其设置样式和脚本。
我想知道我是否可以指向该文件夹,而不是 copy-and-paste 将所有内容都指向一个新的 blade 文件。
路线
Route::get('/wedding', 'WeddingController@index');
婚礼主控
<?php namespace App\Http\Controllers;
class WeddingController extends Controller {
public function index()
{
return view('wedding.index');
}
}
问题
我想知道我是否可以让我的索引函数从我的 /public 文件夹中的一个文件夹加载 index.html
。
我们是否必须从 app/resources/views
目录加载 .blade
文件?
如有任何帮助/建议,我们将不胜感激。
只需将婚礼文件夹直接放在 public 文件夹中即可:
mv wedding/ /path/to/laravel/public
然后访问带有婚礼后缀的网站URL:
http://my-site.com/wedding
这将从婚礼文件夹中加载 index.html
。
这通过 /etc/nginx/sites-enabled/my-site
配置文件中 Nginx 的 try_files
指令起作用:
location / {
try_files $uri $uri/ /index.php?$query_string;
}
这指示 Nginx 首先搜索与 URL 对应的实际文件(例如,/css/app.css
、/wedding/index.html
等)。如果它没有找到匹配的文件(例如,它通常会 return 找不到 404),那么它应该将查询字符串作为参数传递给 index.php 脚本。
一个解决方案是将您的婚礼请柬的 index.html
重命名为 index.php
并将其放入您的 resources/views
文件夹中,使其成为 Laravel 模板。
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');
}
当然,使用此方法,您必须确保所有 CSS/JavaScript/image 网址都正确映射到 public/
文件夹中的相应位置。
使用File
Facade
use File;
return File::get(public_path() . '/to new folder name/index.html');