我在共享主机上上传laravel项目时遇到问题。在该托管上,我有两个在文档根目录中具有单独文件夹的插件域。但是当我在文档根目录中放置laravel项目并从root中的公共文件夹移动所有内容以从url中删除“/ public”时,我无法访问我的插件域。我收到500内部服务错误。当我删除.htaccess文件时,我可以访问我的其他域,但我无法访问我的Laravel项目。如何更改默认laravel .htaccess文件?
答案 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
部分。
这是递归的,因为第一步导致了第二步。
现在你必须思考并看看这与你的其他域是如何冲突的,因为你在这些域中服务的文件很重要,因为我们不知道它们是什么,帮助更多是困难的。