Laravel 部署安装到虚拟主机的方法(折腾了一周,终于成功部署,原来是虚拟机不加载.env,谢谢莫回首http://lxl520.com/index.php/archives/88/!)

 
作者:莫回首
链接:https://www.zhihu.com/question/35497879/answer/111241182
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

laravel版本:5.2
虚拟主机:万网

迁移

1.先把所有文件复制到网站根目录
2.由于访问的时候入口文件在public目录下面,这时候访问url会变成url/public/,重写规则跳转就行了,在根目录新建.hatcess文件

<IfModule mod_rewrite.c>
    RewriteEngine on
    RewriteCond %{REQUEST_URI} !^public
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

3.打开config/app.php

'key' => env('APP_KEY', '...'), //32位字符串
'cipher' => 'AES-256-CBC',

改为

'key' => env('APP_KEY', '...'),//16位字符串
'cipher' => 'AES-128-CBC',

由于万网不支持'AES-256-CBC'所以用128位加密,256位加密使用32位字符串,128位使用16位字符串
4.到这一步基本就没有什么问题了,但是在使用ajax的时候,post方法有可能会被301跳转然后变成get
解决方案:
打开public目录下的.htaccess文件删除下面这一段

  # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

5.好了,我的使用过程中就没什么问题了

(注:把在控制台把万网的php版本调到最高,现在是5.5)

补充一点很多人容易忽略的,配置文件不要写在.env文件里面,虚拟机一般不支持,换到config目录下的相应配置文件下

posted on 2016-10-27 09:33  caigan  阅读(1054)  评论(0编辑  收藏  举报