我在共享主机上托管我的Laravel项目,我无权修改apache配置以查找index
中的/public
文件。
我还尝试将DirectoryIndex index.html
添加到托管正在查找.htaccess
文件的地方的index.php
文件中。
这不起作用。
话虽如此,我认为如果我只是将index.php
文件从/public
(默认情况下Laravel所在的位置)移到root
所在位置,我就可以解决问题正在寻找它。
话虽如此,我需要在此index.php
文件中修改哪些内容才能使Laravel应用程序正常工作?
我的结构是:
public_html/ <-- where my files are served from and where index.php should be
my-project/
public/
index.php <-- where Laravel expects index.php to be to bootstrap the app
答案 0 :(得分:2)
好的,我们走了:
让我们说这是你的文件夹结构:
MyUser/
public_html/
public/
第1步。 创建与public_html
laravel
相同级别的文件夹(或者您喜欢的内容):
MyUser/
laravel/
public_html/
public/
第2步。 将您的laravel代码 所有 上传到laravel
文件夹。您的代码现在无法通过网络浏览器访问。
第3步。 接下来,您将所有数据从MyUser/Laravel/public
复制到MyUser/public_html
。现在我们到了某个地方。 警告: 不要忘记复制.htaccess
文件
第4步。 在您喜欢的编辑器中打开MyUser/public_html/index.php
并更改
$app = require __DIR__.'/../bootstrap/app.php';
为:
$app = require __DIR__.'/../laravel/bootstrap/app.php';
并改变:
require __DIR__.'/../bootstrap/autoload.php'
为:
require __DIR__.'/../laravel/bootstrap/autoload.php'
第5步。 现在,由于您的storage
目录位于public_html
之外,因此很可能无法访问,所以CHMOD
到777,你就完成了!
小提示:
看看您是否可以从symlink
到MyUser/laravel/public
创建MyUser/public_html
。这样就可以跳过第3步和第4步。
希望这会有所帮助。