如何在 laravel 9 中从 url 中隐藏 public

How to hide public from url in laravel 9

我使用了Laravel 9和Inertia.js+Vuejs,项目已经部署到cpanel。当我访问该站点时,它抛出了一个错误,提示未找到代码 404,所以我在 public 文件夹外添加了一个新文件 - .htaccess,并且错误存在。我尝试像这样 https://imapp.asomaningministries.com/public 访问 public 文件夹并且它有效,但我不希望任何人最终访问此文件夹。那我可以隐藏它吗?

您可以尝试在cPanel的域设置页面将文档根目录设为'public'目录


或者您可以像那样使用 .htaccess 文件;

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain-name.com$ [NC,OR]
RewriteCond %{HTTP_HOST} ^www.domain-name.com$
RewriteCond %{REQUEST_URI} !public/
RewriteRule (.*) /public/ [L]