Maison  >  Article  >  cadre php  >  Comment configurer le programme yii pour prendre en charge les hôtes virtuels

Comment configurer le programme yii pour prendre en charge les hôtes virtuels

王林
王林original
2019-11-08 17:02:362529parcourir

Comment configurer le programme yii pour prendre en charge les hôtes virtuels

1. Copiez le programme frontend/web/ dans le répertoire racine

2. Apportez les modifications suivantes au programme 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();
3. Supprimez le répertoire Web sous frontend

4 Lors de l'implémentation de l'API en mode : www.***.com/api/web/site/login, j'ai constaté qu'il ne pouvait pas être implémenté, il semble que Index.php et le contrôleur ne puissent pas être appelés, ni ne peuvent être appelés. J'ai donc fait diverses conjectures et utilisé la méthode d'élimination étape par étape pour résoudre le problème. La méthode d'élimination est un bon moyen de rechercher et de résoudre des problèmes sans connaître les problèmes sous-jacents.

La méthode correspondante consiste à lire le code sous-jacent, mais bien que cela puisse résoudre le problème, la vitesse sera plus lente. Enfin, j'ai découvert que le code .haccess peut être modifié sous la forme suivante pour masquer index.php et obtenir un pseudo-statique :

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /api/web/index.php [L]
</IfModule>

Pendant le processus de débogage de l'API, j'ai trouvé www.***. com/api/web/articles Lors de l'affichage du code dans le navigateur, les données XML ne peuvent pas être affichées ou il y a une invite pour télécharger .json. Plus tard, j'ai découvert que le mode de compatibilité du navigateur 360 ​​était sélectionné et. c'était très bien de le changer en mode vitesse. Cela a réussi lors du test des données dans Postman.

Tutoriel recommandé :

Tutoriel YII

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn