laravel - 部署 laravel + vuejs 到共享主机
问题描述
我在将我的 laravel + vuejs 应用程序部署到共享主机帐户时遇到问题,我知道其他有效的方法,例如 cloudways,但我只想测试我的网站。
我尝试了一些免费托管,但总是出错,我是否需要通过 ftp 上传所有 node_modules 才能使 vue 组件正常工作?它很大并且需要大量时间。
我已经检查了很多关于此的教程,但没有一个将 laravel 与 vuejs 部署到服务器,任何有关此的指南将不胜感激。
解决方案
进入 laravel-vue 项目并构建应用程序的生产版本。
确保隐藏文件可见,然后压缩除 node_modules 之外的所有内容
转到您的 cpanel,在根目录中为您的新应用程序创建一个文件夹(不是
public_html
)将压缩文件上传并解压到您刚刚创建的新文件夹中
public
将文件夹的内容移动.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}]
</IfModule>
通过更改来编辑同一文件夹中的 index.php 文件:
require __DIR__.'/../vendor/autoload.php';
至require __DIR__.'/vendor/autoload.php';
require_once __DIR__.'/../bootstrap/app.php';
至require_once __DIR__.'/bootstrap/app.php';
为这个应用程序创建一个子域,并将文档根目录设置为我们创建的文件夹,并将所有 laravel 文件放入
访问 subdomain.your-domain.your-tld 并且该应用程序应该可以运行。
推荐阅读
- python - 如何找到数据库中每行分组列的平均值
- javascript - Converting componentDidMount into useEffect
- typescript - Typescript 中的冗余函数定义
- angular - Angular:fakebackend 中的 localStorage 数组未呈现应有的值
- mysql - 为什么按字母数字排序的mysql不起作用
- javascript - Discord.js 重启命令不起作用(返回未定义的错误)
- jquery - React.js - 将输入框设置为编辑值
- javascript - 为什么在ajax请求后没有加载document.ready
- reactjs - 反应:AWS Cognito 令牌端点在被 Shopify 商店重定向时返回 400 invalid_grant
- javascript - 没有这个的 Javascript 工厂函数,新的或原型