【问题标题】:How to set up routes for Laravel 5 so I can access from public folder如何为 Laravel 5 设置路由,以便我可以从公共文件夹访问
【发布时间】:2015-02-12 04:16:18
【问题描述】:

当我尝试通过 localhost/project/public/acp 或 localhost/acp 运行其他路由时,它说找不到文件夹,但是当使用 localhost:8000/acp 时它工作正常,这是我的路由:

Route::get('acp', 'CommentController@admin');

我使用 Linux 服务器...将 Laravel 应用程序投入生产的正确方法是什么?

这也可以正常工作:localhost/project/public/ 但其他路由没有......

【问题讨论】:

  • 听起来你有不止一个网络服务器(Laravel 的开发一个在 8000 上,其他的东西比如 Apache/nginx 在默认的 80 上),并且没有正确配置你的主服务器。

标签: php laravel-5


【解决方案1】:

如果您使用php artisan serve,则您的网站在localhost:8000 上运行,并且public 目录之外的任何内容都无法直接访问。 php artisan serve 绝对不能用于为生产站点提供服务,它仅用于开发用途。

如果您希望它在localhost/project/public/acp 上运行,您必须将您的网络服务器的文档根目录指向project 的父文件夹。这取决于您使用的服务器,因此不建议这样做。

在已部署的 Laravel 站点的 URL 中看到 public 文件夹表明存在严重的安全问题,因为它会使私有文件(如 .env)可能被访问,并且如果你在您的服务器/PHP 配置,它可能允许您的 PHP 文件被读取为纯文本。

【讨论】:

  • 但是我如何在没有 php artisan serve 的情况下访问 Laravel 应用程序?
  • @Vladimir 使用真正的网络服务器,如 Apache 或 nginx。 laravel.com/docs/5.0/installation
猜你喜欢
  • 1970-01-01
  • 2022-10-05
  • 2013-03-28
  • 2011-07-04
  • 2016-07-03
  • 2013-07-09
  • 1970-01-01
  • 2015-05-14
  • 1970-01-01
相关资源
最近更新 更多