【问题标题】:Can I Deploy Laravel App To A Shared Hosting? [closed]我可以将 Laravel 应用程序部署到共享主机吗? [关闭]
【发布时间】:2020-11-12 11:39:57
【问题描述】:
我想知道是否可以将我使用 vuejs 2 构建的 laravel 7 应用程序部署到 共享主机 使用ftp 上传文件。
我还想提示,在上传应用时,安全是必不可少的。
如果这是可能的,我想知道它是如何完成的。
【问题讨论】:
标签:
php
laravel
web-deployment
shared-hosting
【解决方案1】:
是的,你可以。
-
进入 laravel-vue 项目并构建应用的生产版本。
-
确保隐藏文件可见,然后压缩除 node_modules 之外的所有内容
-
转到您的 cpanel,在根目录中为您的新应用创建一个文件夹(不是 public_html)
-
将压缩文件上传并解压到您刚刚创建的新文件夹中
-
将除.htaccess 之外的公用文件夹的内容移动到刚刚创建的新文件夹的根目录中
-
在同一文件夹的根目录中创建一个新的 .htaccess 文件并添加以下内容:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
-
通过更改来编辑同一文件夹中的 index.php 文件:
需要 DIR.'/../vendor/autoload.php'; 到需要DIR.'/vendor/autoload.php';
require_once DIR.'/../bootstrap/app.php'; to require_once DIR.'/bootstrap/app.php';
- 为此应用创建一个子域,并将文档根目录设置为我们创建的文件夹,并将所有 laravel 文件放入此文件夹。打开您的域,您的网站将开始运行。