在laravel 4中更改.htaccess文件

时间:2014-01-25 13:53:13

标签: php laravel laravel-4

我在共享主机上上传laravel项目时遇到问题。在该托管上,我有两个在文档根目录中具有单独文件夹的插件域。但是当我在文档根目录中放置laravel项目并从root中的公共文件夹移动所有内容以从url中删除“/ public”时,我无法访问我的插件域。我收到500内部服务错误。当我删除.htaccess文件时,我可以访问我的其他域,但我无法访问我的Laravel项目。如何更改默认laravel .htaccess文件?

1 个答案:

答案 0 :(得分:2)

好吧,你不应该move everything from public folder,这是Laravel应用程序中非常重要的一部分,它是以这种方式构建的,用于将应用程序源代码与任何人都可以访问的公共文件分开,如果你的应用程序是root的话也是你的公共文件夹,任何人都可以从你的应用程序访问任何php文件,这是不安全的......

您需要做的是将文档根目录指向/serverRoot/applicationRoot/public

如果你真的不能这样做,我恐怕你必须编辑index.php并尝试改变这两行:

require __DIR__.'/../bootstrap/autoload.php';
$app = require_once __DIR__.'/../bootstrap/start.php';

require __DIR__.'/bootstrap/autoload.php';
$app = require_once __DIR__.'/bootstrap/start.php';

看看它是否适合你。

修改

Laravel的默认.htaccess文件仅用于重写您的网址,因此您不需要t see a index.php`。基本上它做了两件事:

1)如果您使用http://www.site.com/访问您的网站,则会在内部指向http://www.site.com/index.php

2)当您使用http://www.site.com/index.php访问您的网站时,它会隐藏index.php部分。

这是递归的,因为第一步导致了第二步。

现在你必须思考并看看这与你的其他域是如何冲突的,因为你在这些域中服务的文件很重要,因为我们不知道它们是什么,帮助更多是困难的。