拿laravel5.1来说:
在根目录下创建一个local文件夹,把网站根目录下除了public文件夹以外所有文件及文件夹剪切到local文件夹中
然后把public文件夹下的所有文件剪切到网站根目录,接着删除public文件夹,这样入口就变成根目录而不是public了,接下来
打开根目录下的index.php(之前/public/index.php)
将
require __DIR__.'/../bootstrap/autoload.php'
修改为
require __DIR__.'/local/bootstrap/autoload.php'
将
$app = require_once __DIR__.'/../bootstrap/app.php'
修改为
$app = require_once __DIR__.'/local/bootstrap/app.php'
打开/local/config/app.php(之前的/config/app.php)
将
'key' =>env('APP_KEY', 'SomeRandomString'),
'cipher' =>'AES-256-CBC',
改为
'key' =>env('APP_KEY', '1234567890qwerty'),
'cipher' =>'AES-128-CBC',
其中key使用长度为16的随机字符串,由于万网不支持'AES-256-CBC'所以用128位加密就可以了,128用16个随机字符串做key,256用32个。
上传到万网虚拟主机,然后在后台把PHP版本改成5.5就可以了,就妥妥的成功运行laravel了。
第一步
解压到htdocs文件夹下并改名为larvael
第二步
访问ip地址/laravel/public 之后你会发现Larvael的主界面
但是细心的同学发现这里总是有一个/public无论再加什么/url他都会存在 很是烦人不能以后项目上线
就给人家一个这样的URL吧
这里作者告诉你如何删去PUBLIC
第三步
只需要laravel/server.PHP
改名为index.php
并且将public目录下的.htaccess拷贝到Larvael根目下
再去访问localhost/Larvael/就会发现不需要加上public这个烦人的东西了
最后请小心如果你的CSS js FONT的文件有用的话 请把他们也拷贝到Larvael的根目录下
否则你会发现你的css js都404啦 千万要记住.
这里作者补充一句 只可在测试环境下这样使用,否则真实环境会有安全问题!
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' =>'你的key值',//16位字符,例如qwertyuiasdfzxcv
'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目录下的相应配置文件下
我的部署方式: 本地和线上都是nginx,先配好rewrite规则(就是把.htaccess里面的规则原样翻译到nginx.conf里面去) 服务器上,我是直接导SQL, 毕竟我还不习惯用php命令去创建数据库,当然了,这个见仁见智了,laravel的迁移功能是很强大的,在同步本地欢迎分享,转载请注明来源:夏雨云
评论列表(0条)