5分钟教你配置Yii2程序支持虚拟主机 - Yii2基础版 [ 技术分享 ]
这个世界上除了服务器,还有一个东西叫虚拟主机,本文讲解yii2程序如何部署到虚拟主机上~
本系列分两节
- 基础版
- 高级版
第一节 Begin...
基础版
其实不改动也可以,但是你的网址要总带一个尾巴,类似于http://xx.com/**web**/index.php?r=site/index 一样,很煞风景,跟着北哥对yii2-basic进行一次小手术,就足以去掉它。
我们假设当前虚拟主机也不支持url重写,就是说你没办法通过重写规则搞定它。
首先将web目录下的所有文件都转移到程序目录下,这个时候会提示assets已经存在,直接跳过不管它,然后删除web目录。
转移后是上面这个样子。
接下来改动index.php中的路径如下面代码
// comment out the following two lines when deployed to production
defined('YII_DEBUG') or define('YII_DEBUG', true);
defined('YII_ENV') or define('YII_ENV', 'dev');
require(__DIR__ . '/vendor/autoload.php');
require(__DIR__ . '/vendor/yiisoft/yii2/Yii.php');
$config = require(__DIR__ . '/config/web.php');
(new yii\web\Application($config))->run();
然后访问,原理上这样就可以了。你发现是不是可以使用了。
但是运行后出现了一个问题,你发现assets文件夹冲突了
资源文件自动生成的东东和源文件冲突了,这样很不好,我们现在将自动生成的文件转移一下,在根目录建立一个public目录并且赋予写权限。
然后配置一下config/web.php文件中的components,增加
'assetManager'=>array(
// 设置存放assets的文件目录位置
'basePath'=>'public',
// 设置访问assets目录的url地址
'baseUrl'=>'/public',
),
然后访问http://xx.com/index.php?r=controller/action,一起正常,且发现自动生成的资源乖乖的去public里报道了。
到此为止,基础版支持虚拟主机就完成了。
北哥兄弟连 yii2干货和原创视频 http://nai8.me/
abei1982 河南洛阳
注册时间:2015-05-16
最后登录:2020-04-14
在线时长:128小时48分
最后登录:2020-04-14
在线时长:128小时48分
- 粉丝307
- 金钱4935
- 威望50
- 积分6715