Laravel:支持改变框架/ app文件夹位置的方法?

时间:2013-06-25 20:22:54

标签: laravel laravel-4

我刚刚开始玩Laravel,并在文档中注意到它们建议您将应用文件移到文档根目录之外,只有/public的内容可以访问。好的,好的,所以我做到了。但是,查看/public/index.php,将一个目录指向/bootstrap目录是硬编码的。由于我已将框架代码移到别处,我将文件稍微修改为:

$app_path = $_SERVER['DOCUMENT_ROOT'].'/../securefiles/myApp/';
...
require $app_path.'/bootstrap/autoload.php';
... etc ...

这是预期的做法吗?在Laravel加载之前,需要正确设置此文件,因此我无法想象我可以配置Laravel本身以了解它相对于/public/index.php的存储位置。我只是好奇,但是,如果有另一种更好,更合适的方法吗?

1 个答案:

答案 0 :(得分:4)

不,那不是他们的意思。它们意味着您需要指定虚拟主机使用public作为DOCUMENT_ROOT,保留结构的其余部分。所以你会看到这样的东西:

projectname/
  app/
  bootstrap/
  public/

然后apache / nginx / lighthttpd virtualhost配置会将DOCUMENT_ROOT设置为/path/to/projectname/public。因此,除了服务器配置之外,没有必要更改任何其他内容。这通常是它的完成方式。 Apache示例:

<VirtualHost *:80>
    DocumentRoot "/path/to/projectname/public"
    ServerName yoursite.com
    ServerAlias www.yoursite.com
</VirtualHost>