【问题标题】:Laravel: How to Route to Public fileLaravel:如何路由到公共文件
【发布时间】:2013-03-28 00:24:27
【问题描述】:

在 Laravel 中,是否可以通过路由重定向到 public/testFile.php

application/routes.php

Route::get('/', function()
{
    //'How to point to public/testFile.php'

});

有一个现有的项目,但只想做 Laravel 中的新模块。于是复制了Public/下的Existing project

【问题讨论】:

  • 我没有给你投反对票,但没有规则要求用户定义他们投反对票的原因。也就是说,这是一个非常基本的问题,也违背了使用 MVC 框架的意义。
  • 我个人没有投票给你。只是在我的回答中表示不赞成,但最终,不管你的船是什么。我个人在生产代码中看到的问题比你的问题差 100 倍 ;-)
  • 所以我们有一个现有的项目,但只想做 Laravel 中的新模块。所以将现有项目保持在 Public/
  • 我想通了。你知道在这种情况下,如果你想直接访问文件,根本不需要路由吗?但是,如果您不想这样做,可以使用我的两个解决方案中的第一个。
  • 感谢塞巴斯蒂安,您的支持。让我接受你的回答。

标签: php routes laravel


【解决方案1】:

你这样做完全违背了框架的目的,但如果你真的想......

Route::get("/", function() {
    ob_start();
    require(path("public")."testFile.php");
    return ob_get_clean();
});

这将返回文件的标准输出。相反,如果脚本中已有返回值,请取消 ob_startreturn 调用。

重定向如下:

Route::get("/", function() { return Redirect::to("testFile.php"); });

【讨论】:

  • require(path("public")."testFile.php");可以更新为require(public_path() . "/testFile.php");
  • 我在其他地方创建了一个 SPA,并通过 CLI 将 SPAindex.html 构建到 Laravel 公用文件夹中。我正在尝试设置它,但它不起作用。在我想链接public/SPAindex.html的情况下,我应该如何准确编写路由的控制器?
【解决方案2】:
Route::get('/', function()
{
    include public_path().'testFile.php';
});

如果您想重定向,请使用return Redirect::to('testFile.php')

但我不明白你为什么要做这种奇怪的事情。

我认为你使用的是 Laravel 3(正如你提到的 application/...),public_path()path('public')

【讨论】:

    猜你喜欢
    • 2016-07-03
    • 2016-09-19
    • 2018-11-30
    • 2016-02-24
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 2011-10-06
    相关资源
    最近更新 更多