ホームページ >PHPフレームワーク >YII >仮想ホストをサポートするように yii プログラムを設定する方法

仮想ホストをサポートするように yii プログラムを設定する方法

王林
王林オリジナル
2019-11-08 17:02:362569ブラウズ

仮想ホストをサポートするように yii プログラムを設定する方法

1.frontend/web/ のプログラムをルート ディレクトリにコピーします

2.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. フロントエンドの下のディレクトリ web ディレクトリを削除します。

4. 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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。