【问题标题】:Load an HTML file directly from public folder as View in Laravel直接从公共文件夹加载 HTML 文件作为 Laravel 中的视图
【发布时间】:2015-10-30 01:20:03
【问题描述】:

我正在使用 Laravel。 我正在尝试整理我自己的结婚请柬。 我的公用文件夹中有一个文件夹,将样式和脚本用于它。

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


路线

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/wedding/index.html,那么当你转到http://localhost/wedding 时,它将显示index.html 的内容,而无需调用 Laravel。不需要路由或控制器。

标签: php laravel view laravel-5 blade


【解决方案1】:

只需将婚礼文件夹直接放在公用文件夹中即可:

mv wedding/ /path/to/laravel/public

然后访问带有婚礼后缀的网站网址:

http://my-site.com/wedding

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

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

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

这指示 Nginx 首先搜索与 URL 对应的实际文件(例如,/css/app.css/wedding/index.html 等)。如果它没有找到匹配的文件(例如,它通常会返回 404 not found),那么它应该将查询字符串作为参数传递给 index.php 脚本。

【讨论】:

  • 我怎么不用注册那条路线?你能详细说明一下吗?
  • 我真的很喜欢这个解决方案。我不敢相信我做得比现在更难。
  • 我看到了。非常感谢你做的这些。我会确保很快接受它。
  • 我注意到,这在本地不起作用。只在服务器上工作。你知道为什么吗?
  • 你是在本地使用 Nginx 还是其他的东西?
【解决方案2】:

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

use File;

return File::get(public_path() . '/to new folder name/index.html');

【讨论】:

  • 这不是我要问的。
  • 我知道如何加载文件。这很容易。
  • 对于 laravel 5.6 use Illuminate\Support\Facades\File;.
【解决方案3】:

一种解决方案是将您的婚礼请柬的 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/图像 url 都正确映射到 public/ 文件夹中它们各自的位置。

【讨论】:

  • 此解决方案仅在您重命名 index.html 时有效--> index.blade.php
猜你喜欢
  • 2017-03-25
  • 1970-01-01
  • 2017-06-06
  • 2017-02-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-16
  • 1970-01-01
相关资源
最近更新 更多