Heim >PHP-Framework >YII >So konfigurieren Sie das yii-Programm zur Unterstützung virtueller Hosts

So konfigurieren Sie das yii-Programm zur Unterstützung virtueller Hosts

王林
王林Original
2019-11-08 17:02:362568Durchsuche

So konfigurieren Sie das yii-Programm zur Unterstützung virtueller Hosts

1. Kopieren Sie das Frontend/Web/-Programm in das Stammverzeichnis

2. Nehmen Sie die folgenden Änderungen am Programm index.php vor:

<?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. Löschen Sie das Verzeichnis Webverzeichnis unter Frontend

4 Bei der Implementierung des API-Endes als: www.***.com/api/web/site/login-Modus habe ich festgestellt, dass es nicht implementiert werden kann. Es scheint, dass Index.php und der Controller nicht aufgerufen werden können und auch nicht aufgerufen werden können. Deshalb habe ich verschiedene Vermutungen angestellt und die schrittweise Eliminierungsmethode verwendet, um das Problem zu beheben. Die Eliminierungsmethode ist eine gute Möglichkeit, Probleme zu finden und zu lösen, ohne die zugrunde liegenden Probleme zu kennen.

Die entsprechende Methode besteht darin, den zugrunde liegenden Code zu lesen. Dies kann das Problem zwar lösen, ist jedoch langsamer. Schließlich habe ich herausgefunden, dass der .haccess-Code in die folgende Form geändert werden kann, um index.php auszublenden und Pseudostatik zu erreichen:

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

Während des Debuggens der API habe ich www.*** gefunden. com/api/web/articles Beim Anzeigen des Codes im Browser können die XML-Daten nicht angezeigt werden oder es wird eine Aufforderung zum Herunterladen von .json angezeigt. Später stellte ich fest, dass der Kompatibilitätsmodus des 360-Browsers ausgewählt war Es war völlig in Ordnung, es auf den Geschwindigkeitsmodus umzustellen. Beim Testen der Daten in Postman war es erfolgreich.

Empfohlenes Tutorial: YII-Tutorial

Das obige ist der detaillierte Inhalt vonSo konfigurieren Sie das yii-Programm zur Unterstützung virtueller Hosts. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn