Laravel:如何路由到公共文件
Posted
技术标签:
【中文标题】Laravel:如何路由到公共文件【英文标题】:Laravel: How to Route to Public file 【发布时间】: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/ 我想通了。你知道在这种情况下,如果你想直接访问文件,根本不需要路由吗?但是,如果您不想这样做,可以使用我的两个解决方案中的第一个。 感谢塞巴斯蒂安,您的支持。让我接受你的回答。 【参考方案1】:你这样做完全违背了框架的目的,但如果你真的想......
Route::get("/", function()
ob_start();
require(path("public")."testFile.php");
return ob_get_clean();
);
这将返回文件的标准输出。相反,如果脚本中已有返回值,请取消 ob_start
和 return
调用。
重定向如下:
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')
。
【讨论】:
以上是关于Laravel:如何路由到公共文件的主要内容,如果未能解决你的问题,请参考以下文章