我正在尝试在 Yii 2 中获取项目的基本 URL,但它似乎不起作用。根据this page你曾经能够做到:
Yii::app()->getBaseUrl(true);
在 Yii 1 中,但似乎 that method在 Yii 2 中不再接受参数?
我试过不真实,比如:
Yii::$app->getBaseUrl();
但它只是返回空。
你如何在 Yii 2 中做到这一点?
最佳答案
要获取应用程序的基本 URL,您应该使用 yii\helpers\Url::base()
方法:
use yii\helpers\Url;
Url::base(); // /myapp
Url::base(true); // http(s)://example.com/myapp - depending on current schema
Url::base('https'); // https://example.com/myapp
Url::base('http'); // http://example.com/myapp
Url::base(''); // //example.com/myapp
Url::home()
不应在这种情况下使用。 Application::$homeUrl
默认情况下使用基本 URL,但它可以很容易地更改(例如更改为 https://example.com/myapp/home
),因此您不应依赖它总是返回基本 URL 的假设。如果有特殊的 Url::base()
方法来获取基本 URL,则使用它。
关于php - 在 Yii 2 中获取基本 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27856533/