将laravel + vuejs部署到共享主机

时间:2019-05-07 13:22:52

标签: laravel vuejs2 hosting shared-hosting

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

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

我已经检查了很多教程,但是还没有将带有vuejs的laravel部署到服务器上,对此的任何指导将不胜感激。

2 个答案:

答案 0 :(得分:3)

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

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

  3. 转到您的面板,在根目录(不是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,应用将正常运行。

答案 1 :(得分:0)

只需在根(.htaccess)或任何子目录(如果您使用的是子域)中创建一个新的public_html文件,然后粘贴以下行即可解决您的问题。

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteRule ^$ public/ [L]
    RewriteRule (.*) public/$1 [L]
</IfModule>