Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Laravel中公共url的用途是什么?_Url_Laravel_Public - Fatal编程技术网

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的一部分就

当我们设置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