有没有办法从URL中删除这个“public”?
有没有办法从URL中删除这个“public”?
我正在使用laragon服务器来运行php 7.2 laravel。我尝试了很多方法,想要从我的url中移除public关键字,方法是将.htaccess文件夹复制到我的laravel项目目录中,或者复制并重命名服务器文件为index.php。但都没有成功。
每当我输入这个url:http://localhost/myLaravel/
它给我以下错误:
Forbidden
You don't have permission to access /myLaravel/ on this server.
有什么解决办法吗?
Laravel应用默认情况下不适用于在子目录中访问。您可以选择以下方法之一来解决这个问题:
- 如果您想要一个专用的域名或子域名,请将您的域名指向
myLaravel/public
目录 - 将
public
目录移动到您的Laravel应用的根目录,具体操作请参考这里:如何将public文件夹设置为Laravel根目录?
在Laravel项目中,通常访问应用程序的URL是以/public作为根目录的。这种设置会导致在URL中显示public,从而影响用户体验和网站的美观度。那么有没有办法从URL中移除这个public呢?
为了解决这个问题,我们可以在Laravel的根目录中的.htaccess文件中添加一段代码。具体的代码如下:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
这段代码使用了Apache的mod_rewrite模块,它会将所有的URL请求重写到public目录下。这样,用户在访问网站时就不再需要在URL中输入public。
只要将上述代码复制到Laravel项目的根目录下的.htaccess文件中,保存并重新加载网站,就可以实现从URL中移除public的效果。这样,用户只需要输入域名后面的路径即可访问网站的各个页面,而不需要再加上public。
通过这种方式,我们可以提升用户体验,使得URL更简洁、直观,并且更符合网站的设计风格。同时,这种方法也可以提高网站的安全性,因为公开public目录可能会导致一些安全隐患。因此,移除URL中的public是一种值得推荐的做法。