首页 > 解决方案 > 部署 laravel + vuejs 到共享主机

问题描述

我在将我的 laravel + vuejs 应用程序部署到共享主机帐户时遇到问题,我知道其他有效的方法,例如 cloudways,但我只想测试我的网站。

我尝试了一些免费托管,但总是出错,我是否需要通过 ftp 上传所有 node_modules 才能使 vue 组件正常工作?它很大并且需要大量时间。

我已经检查了很多关于此的教程,但没有一个将 laravel 与 vuejs 部署到服务器,任何有关此的指南将不胜感激。

标签: laravelvuejs2hostingshared-hosting

解决方案


  1. 进入 laravel-vue 项目并构建应用程序的生产版本。

  2. 确保隐藏文件可见,然后压缩除 node_modules 之外的所有内容

  3. 转到您的 cpanel,在根目录中为您的新应用程序创建一个文件夹(不是public_html

  4. 将压缩文件上传并解压到您刚刚创建的新文件夹中

  5. public将文件夹的内容移动.htaccess到刚刚创建的新文件夹的根目录中

  6. .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>
  1. 通过更改来编辑同一文件夹中的 index.php 文件:

    • require __DIR__.'/../vendor/autoload.php';require __DIR__.'/vendor/autoload.php';
    • require_once __DIR__.'/../bootstrap/app.php';require_once __DIR__.'/bootstrap/app.php';
  2. 为这个应用程序创建一个子域,并将文档根目录设置为我们创建的文件夹,并将所有 laravel 文件放入

访问 subdomain.your-domain.your-tld 并且该应用程序应该可以运行。


推荐阅读