配置yii程序支持虚拟主机的方法

广告:宝塔服务器面板,一键全能部署及管理,送你10850元礼包,点我领取~~~

配置yii程序支持虚拟主机的方法

一、将frontend/web/的程序复制到根目录下

二、将index.php的程序做如下修改:

<?phpdefined('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';require __DIR__ . '/common/config/bootstrap.php';require __DIR__ . '/frontend/config/bootstrap.php'; $config = yii\helpers\ArrayHelper::merge(    require __DIR__ . '/common/config/main.php',    require __DIR__ . '/common/config/main-local.php',    require __DIR__ . '/frontend/config/main.php',    require __DIR__ . '/frontend/config/main-local.php'); (new yii\web\Application($config))->run();
登录后复制

三、将frontend下的目录web目录删除

四、在将api端实现为:www.***.com/api/web/site/login的模式时,发现实现不了,好像是调用不到index.php及控制器也调用不了。于是做了各种猜想,一步一步排除法排查问题,排除法是在不知底层的情况下发现问题和解决问题的好办法。

与之对应的就是读底层代码,但这样虽然能解决问题,速度会更慢。最后发现可以将.haccess的代码改为以下形式实现了隐藏index.php及实现伪静态:

<IfModule mod_rewrite.c>RewriteEngine OnRewriteBase /RewriteCond %{REQUEST_FILENAME} !-fRewriteCond %{REQUEST_FILENAME} !-dRewriteRule . /api/web/index.php [L]</IfModule>
登录后复制

在调试api的过程中发现www.***.com/api/web/articles在浏览器里面查看代码时,无法显示xml数据,或者是下载.json的提示,后来发现是选择了360浏览器的兼容模式,改为极速模式就好了。在postman里面测试数据时是成功的。

推荐教程:YII教程

以上就是配置yii程序支持虚拟主机的方法的详细内容,更多请关注9543建站博客其它相关文章!

9543建站博客
一个专注于网站开发、微信开发的技术类纯净博客。
作者头像
admin创始人

肥猫,知名SEO博客站长,14年SEO经验。

上一篇:workerman写mysql连接池的方法与作用
下一篇:app和微信小程序在安全方面有什么区别

发表评论

关闭广告
关闭广告