【问题标题】:How to run laravel in root directory without the public folder?如何在没有公用文件夹的根目录中运行 laravel?
【发布时间】:2013-12-31 02:57:32
【问题描述】:

我在自己的运行 Debian 和 Apache2 的服务器上运行最新版本的 laravel。

laravel 的内容位于 /var/www 这是我的域名所指向的,但是所有功能都通过 public 目录,所以我必须转到 http://mydomain.com/public 才能访问任何内容。

我想更改它,以便我只需要访问 http://mydomain.com。这可能吗?

我该如何改变呢?我是否必须将所有内容提升到 /var 的父级?

到目前为止,我还没有在网上找到任何说这是可能的,或者说这是个好主意。

【问题讨论】:

  • 是的,发布的链接 kanenas.net 有两个答案:1)重定向您的虚拟主机,2)如果您绝对不能,您可以在根目录中放置一个 .htaccess文件夹。

标签: php apache .htaccess laravel debian


【解决方案1】:

这不是你的问题,你需要将虚拟主机指向公用文件夹。

【讨论】:

  • 我也在使用域上的其他子目录...或者,这可能通过 larval 实现吗?或者……我是不是走错路了?
  • 你真的应该修改你的服务器设置而不是代码库。将这些子目录添加到公用文件夹并将虚拟主机指向 /var/www/public
  • 谢谢。我已经做到了,并且有效。那么在 larval 的公共目录中放置额外的目录没有什么坏处吗?
  • 只要您希望这些文件可以公开访问。
  • 虚拟主机是一个很好的解决方案,但虚拟主机在共享托管服务器中并不总是可用,即使提问者没有提到这一点。
【解决方案2】:

以下内容对我有用,如下所述:https://stackoverflow.com/a/16569078/3091980

将 /public 文件夹的所有内容下移一级。然后更新 index.php 中的包含行以指向正确的位置 - 如果它低于一个级别,请删除“../”。

【讨论】:

    【解决方案3】:

    对不起,我删除了我的旧答案.. 如果你将 server.php 重命名为索引,那么它会起作用,但当然不是因为 laarvel 没有加载所有服务。所以你必须将所有公用文件夹文件粘贴到根目录中。并从 index.php 中的任何位置删除“../”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-27
      • 2013-10-22
      • 2015-04-24
      • 2021-03-18
      • 2014-07-18
      • 2022-08-02
      • 2017-07-26
      • 2013-11-24
      相关资源
      最近更新 更多