Laravel - 在project / public

时间:2017-05-26 21:36:00

标签: php apache laravel .htaccess laravel-5.1

我在共享主机上托管我的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

1 个答案:

答案 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,你就完成了!

小提示:

看看您是否可以从symlinkMyUser/laravel/public创建MyUser/public_html。这样就可以跳过第3步和第4步。

希望这会有所帮助。