Php Yii2-获取不带参数的应用程序URL

Php Yii2-获取不带参数的应用程序URL,php,yii,yii2,Php,Yii,Yii2,我不知道如何在Yii2中获取我的应用程序web文件夹的完整url。 以下规则: <?=Yii::$app->getUrlManager()->getBaseUrl();?><br> <?=Yii::$app->homeUrl;?><br> <?=Yii::$app->getHomeUrl();?><br> <?=Yii::$app->request->url;?><br&

我不知道如何在Yii2中获取我的应用程序web文件夹的完整url。 以下规则:

<?=Yii::$app->getUrlManager()->getBaseUrl();?><br>
<?=Yii::$app->homeUrl;?><br>
<?=Yii::$app->getHomeUrl();?><br>
<?=Yii::$app->request->url;?><br>
<?=Yii::$app->request->absoluteUrl;?><br>
<?=Yii::$app->request->baseUrl;?><br>
<?=Yii::$app->request->scriptUrl;?><br>
<?=Url::to();?><br>
<?=Url::to(['site/index']);?><br>
<?=Url::base();?><br>
<?=Url::home();?><br>
<?=Yii::$app->getUrlManager()->getBaseUrl();?><br>
当我需要获取(绝对URL是此处最接近的URL)时:


我可能会将其中一个结果与一些$\u服务器变量结合起来……但这是一个解决方案吗?

您可以使用方法或生成绝对URL。也可以用来查看文档。例如,
应该输出。如果需要获取应用程序的根url,请尝试
\yii\helpers\url::to('/',true)

我知道这篇文章很老了,但我还是想回答它。 要在Yii2中获取应用程序web文件夹的完整URL,您可以尝试以下三个选项:

  • Url::to('@web/','')
    返回
    //website.com/yiiapp/web/
  • Url::to('@web/',true)返回
    http://website.com/yiiapp/web/
  • Url::to('@web/','https')返回
    https://website.com/yiiapp/web/

  • 有多种方法可以实现这一点,但获取应用程序基本URL的最干净方法可能是使用:

    Url
    helper中的大多数方法都允许您指定
    $scheme
    参数-如果您想创建绝对Url(带域),应该使用它

    要在返回的基本URL中使用的URI方案:

    • false(默认):返回基本URL而不返回主机信息
    • true:返回一个绝对基本URL,其方案与yii\web\UrlManager::$hostInfo中的方案相同
    • string:返回具有指定方案的绝对基本URL(http
    https
    或协议相对URL的空字符串)
    请澄清你的想法。例如,显示您期望的url以及该页面的控制器/视图。
    /yiiapp/web
    /yiiapp/web/
    /yiiapp/web/
    /yiiapp/web/en/reset-password-request
    http://website.com/yiiapp/web/en/reset-password-request
    /yiiapp/web
    /yiiapp/web/index.php
    /yiiapp/web/en/reset-password-request
    /yiiapp/web/site/index
    /yiiapp/web
    /yiiapp/web/
    /yiiapp/web
    
    http://website.com/yiiapp/web
    
    Url::base(true);