首頁 > php框架 > YII > 配置yii程式支援虛擬主機的方法

配置yii程式支援虛擬主機的方法

王林
發布: 2019-11-08 17:02:36
原創
2573 人瀏覽過

配置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教學

以上是配置yii程式支援虛擬主機的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板