Laravel 8 项目部署到共享主机 - 安全问题和 public_html 文件夹

Laravel 8 project deploy to shared hosting - security issues and public_html folder

我能够根据以下文章将我的 laravel 8 应用程序部署为 inmotion 共享主机上的附加域 https://medium.com/backenders-club/how-to-host-a-laravel-project-on-a-shared-hosting-via-cpanel-d955d32c528e

但是,这存在安全问题,因为我可以键入 mysite.com/.env,文件内容列在浏览器中并显示密码。

我尝试了很多方法来将我的 laravel 应用程序的 public 文件夹放入 public_html/public 文件夹中,并且 none 对我有用。有人也遇到这个问题吗?

插件域文档根目录 - /public_html/public
Laravel 8 应用程序 - /mysite.com(public 文件夹内容已移至 public_html/public)
public_html/public文件夹内,index.php文件修改如下:

require __DIR__.'/../../mysite.com/vendor/autoload.php';  
$app = require_once __DIR__.'/../../mysite.com/bootstrap/app.php';

在浏览器中我得到 'No input file specified.'

如果您尝试将 public 文件夹中的文件移动到根目录,这是一种不好的做法,任何人都可以查看存在于根目录中的文件, 我给你的建议是,return 你的文件到 public 文件夹并使用一个解决方案:- 首先,您可以将域文档根目录更改为 public 路径 其次,您可以在根文件夹中创建 .htaccess 文件并包含以下代码:-

RewriteEngine on
RewriteCond %{REQUEST_URI} !^public
RewriteRule ^(.*)$ public/ [L]
  • 我更喜欢第一种解决方案。