我在将laravel + vuejs应用程序部署到共享主机帐户时遇到问题,我知道其他有效的方法,例如cloudway,但我只想测试我的网站。
我尝试了一些免费托管,但总是出错,我是否需要通过ftp上传我的所有node_modules才能使vue组件正常工作?它很大,需要很多时间。
我已经检查了很多教程,但是还没有将带有vuejs的laravel部署到服务器上,对此的任何指导将不胜感激。
答案 0 :(得分:3)
进入laravel-vue项目并构建应用程序的生产版本。
确保隐藏文件可见,然后压缩除node_modules以外的所有内容
转到您的面板,在根目录(不是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文件放入
答案 1 :(得分:0)
只需在根(.htaccess
)或任何子目录(如果您使用的是子域)中创建一个新的public_html
文件,然后粘贴以下行即可解决您的问题。
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^$ public/ [L]
RewriteRule (.*) public/$1 [L]
</IfModule>