主机Laravel项目在web托管


Host Laravel project in web hosting

我想在我的虚拟主机上托管我的laravel项目。

在我的虚拟主机,有Public_html文件夹。在Laravel之前,我可以在Public_html文件夹中使用default.phpindex.php来调用我的网站。但是在laravel框架中,index.phppublic文件夹中。

如何从Public_html访问Laravel/public/index.php ?

您使用的是共享主机吗?如果是,则:

将public (L5)的内容直接放在public_html上(注意不要意外地覆盖。htaccess文件),然后修改index.php和bootstrap.php,它将正常工作

2选项:

  1. 在Public_html中创建index.php,其中包含您的原始index.php
  2. 如果可能的话,更改。htaccess或虚拟主机配置中的文档根目录

无论哪种方式,您都应该意识到这样一个事实:您的Public_html中的所有内容对每个用户都是可见的。因此,将业务逻辑放在那里并不是一个好主意。隐藏文件可以用。htaccess设置,或者如果你把它们放在文档根目录之外。如果你不可能改变它,你可能应该考虑一个虚拟服务器

当我在本地主机上重新安装Laravel项目时,我删除了。从公共目录中找到htaccess文件,然后粘贴(替换)到Laravel的根目录中。

我将Laravel根目录下的server.php文件重命名为index.php

这样我就不需要从网站URL中输入public word了。

现在在public_html中,我粘贴了Laravel目录中的所有文件和文件夹。这样,当你输入你的域名,然后你的网站直接加载而不显示你的public/index.php内的URL。

你真正需要做的就是联系技术支持,并请他们将文档根设置为home/{domian}/{laravel-project-folder}/public而不是home/{domain]/public_html。有些主机甚至允许您设置自己的文档根目录。还有一些人需要你联系他们。

我刚做了一件这样的事回来,一切都很顺利。(在对项目文件夹内所需文件夹设置正确的写权限后)。参见:https://laravel.com/docs/5.3/installation)

这样做让我有了与本地经验相同的生产经验。

在cpanel中,您可以选择(除非主机禁用)设置子域或附加域的公共目录。

我已经在附加域的Laravel安装中这样做了,