这篇文章将为大家详细讲解有关如何配置yii程序支持虚拟主机,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
一、将frontend/web/的程序复制到根目录下
二、将index.php的程序做如下修改:
<?php 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'; 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 On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /api/web/index.php [L] </IfModule>
在调试api的过程中发现www.***.com/api/web/articles在浏览器里面查看代码时,无法显示xml数据,或者是下载.json的提示,后来发现是选择了360浏览器的兼容模式,改为极速模式就好了。在postman里面测试数据时是成功的。
关于“如何配置yii程序支持虚拟主机”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。