一、將frontend/web/的程序復制到根目錄下
二、將index.php的程序做如下修改:
<?php defined('YII_DEBUG') or define('YII_DEBUG', true); defined('YII_ENV') or define('YII_ENV', 'dev'); require __DIR__ . '/vendor/autoload.php'; require __DIR__ . '/vendor/yiisoft/yii2/Yii.php'; require __DIR__ . '/common/config/bootstrap.php'; require __DIR__ . '/frontend/config/bootstrap.php'; $config = yiihelpersArrayHelper::merge( require __DIR__ . '/common/config/main.php', require __DIR__ . '/common/config/main-local.php', require __DIR__ . '/frontend/config/main.php', require __DIR__ . '/frontend/config/main-local.php' ); (new yiiwebApplication($config))->run();
三、將frontend下的目錄web目錄刪除
四、在將api端實現為:www.***.com/api/web/site/login的模式時,發現實現不了,好像是調用不到index.php及控制器也調用不了。于是做了各種猜想,一步一步排除法排查問題,排除法是在不知底層的情況下發現問題和解決問題的好辦法。
與之對應的就是讀底層代碼,但這樣雖然能解決問題,速度會更慢。最后發現可以將.haccess的代碼改為以下形式實現了隱藏index.php及實現偽靜態:
<ifmodule> 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教程
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END