Laravel中公共url的用途是什么?
当我们设置laravel时,默认url上会有“public” 示例:localhost/laravel/public/users 我们知道,我们一直想删除url中的“public”,特别是在我们投入生产时 我在互联网上搜索过,似乎删除“公共”url需要一些工作才能实现,比如将文件移动到其他文件夹,修改.htaccess等等 我的问题是,“公共”url的目的是什么? 为什么laravel不提供一种简单的删除“公共”url的方法。。 我知道Laravel现在很流行,但是为什么仅仅删除url的一部分就让初学者头疼呢Laravel中公共url的用途是什么?,url,laravel,public,Url,Laravel,Public,当我们设置laravel时,默认url上会有“public” 示例:localhost/laravel/public/users 我们知道,我们一直想删除url中的“public”,特别是在我们投入生产时 我在互联网上搜索过,似乎删除“公共”url需要一些工作才能实现,比如将文件移动到其他文件夹,修改.htaccess等等 我的问题是,“公共”url的目的是什么? 为什么laravel不提供一种简单的删除“公共”url的方法。。 我知道Laravel现在很流行,但是为什么仅仅删除url的一部分就
让我知道你的想法公共目录保存了所有应该从外部访问的文件。 这样,任何人都无法访问应用程序中的任何其他文件 如何删除URL中的
public
?好吧,你根本不“移除”它。相反,您应该将域(虚拟主机)直接指向public
(这称为文档根)
如果您不可能这样做(通常是因为您的主机位于权限非常有限的共享主机上),那么您需要移动文件或使用.htaccess
解决方案。但是,如果您的寄件人不允许您设置文档根,我会考虑切换到另一个…
顺便说一句:这并不是拉威尔所独有的。很多PHP框架(Zend Framework、Symfony等)都有一个专用的目录,用于存放应该可以访问的文件——与框架核心和应用程序分开
如果您在正确设置开发环境时遇到问题,您应该尝试一下。它是一个预先配置的“漫游”框,可以很容易地在本地启动和运行您的站点(URL中也没有
public
)当您将站点的根指向public
文件夹时,例如www.mysite.com
指向/path/to/laravel/public
,有一些优点
您的public
之外的文件,如带有密码的.env,无法通过www.mysite.com/./.env
等方式访问,而仅通过采取这种简单的方法,就可以防止其他常见的“漏洞攻击”
这在其他框架中也很常见,不仅仅是Laravel或PHP。“当我们设置Laravel时,默认url上会有‘public’。”如果你做得对,你就不会。您的Web服务器应该指向文档根目录的
public
。