Rumah  >  Artikel  >  rangka kerja php  >  配置yii程序支持虚拟主机的方法

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

王林
王林asal
2019-11-08 17:02:362520semak imbas

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

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

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

<?php
defined(&#39;YII_DEBUG&#39;) or define(&#39;YII_DEBUG&#39;, true);
defined(&#39;YII_ENV&#39;) or define(&#39;YII_ENV&#39;, &#39;dev&#39;);
 
require __DIR__ . &#39;/vendor/autoload.php&#39;;
require __DIR__ . &#39;/vendor/yiisoft/yii2/Yii.php&#39;;
require __DIR__ . &#39;/common/config/bootstrap.php&#39;;
require __DIR__ . &#39;/frontend/config/bootstrap.php&#39;;
 
$config = yii\helpers\ArrayHelper::merge(
    require __DIR__ . &#39;/common/config/main.php&#39;,
    require __DIR__ . &#39;/common/config/main-local.php&#39;,
    require __DIR__ . &#39;/frontend/config/main.php&#39;,
    require __DIR__ . &#39;/frontend/config/main-local.php&#39;
);
 
(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教程

Atas ialah kandungan terperinci 配置yii程序支持虚拟主机的方法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel sebelumnya:yii验证码无法显示Artikel seterusnya:yii下载归档文件怎么写