首页 > 解决方案 > Laravel 8 项目部署到共享主机 - 安全问题和 public_html 文件夹

问题描述

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

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

我尝试了许多选项将我的 laravel 应用程序的公用文件夹放入 public_html/public 文件夹,但没有一个对我有用。有人也遇到这个问题吗?

Addon domain Document root - /public_html/public
Laravel 8 application - /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';

在浏览器中,我得到“未指定输入文件”。

标签: laraveldeploymentshared-hostingpublic-htmladdon-domain

解决方案


如果您尝试将公用文件夹中的文件移动到根目录,那么任何人都可以查看根目录中存在的文件,我的建议是,将您的文件返回到公用文件夹并使用其中的一种解决方案:-首先,您可以将域文档根更改为公共路径第二,您可以在根文件夹中创建 .htaccess 文件并包含以下代码:-

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

推荐阅读