作者:莫回首
链接:https://www.zhihu.com/question/35497879/answer/111241182
来源:知乎
著作权归作者所有,转载请联系作者获得授权。
链接: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目录下的相应配置文件下