我想在我的虚拟主机上托管我的laravel项目。
在我的虚拟主机,有Public_html
文件夹。在Laravel之前,我可以在Public_html
文件夹中使用default.php
或index.php
来调用我的网站。但是在laravel框架中,index.php
在public
文件夹中。
如何从Public_html
访问Laravel/public/index.php
?
您使用的是共享主机吗?如果是,则:
将public (L5)的内容直接放在public_html上(注意不要意外地覆盖。htaccess文件),然后修改index.php和bootstrap.php,它将正常工作
2选项:
- 在Public_html中创建index.php,其中包含您的原始index.php
- 如果可能的话,更改。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安装中这样做了,