【问题标题】:YII 2 Get Site URLYII 2 获取站点 URL
【发布时间】:2015-01-15 08:30:05
【问题描述】:

我的应用程序部署在 localhost/upload 上。

我正在使用以下代码生成相对 URL。

 Url::to('@web/my_controller/action'); // it returns /upload/my_controller/action

但是,我需要这样的完整 URL:http://localhost/upload/my_controller/action

我错过了什么吗?

【问题讨论】:

    标签: yii2 yii-url-manager


    【解决方案1】:

    你应该简单地使用一条路线:

    Url::to(['my_controller/action']);
    

    如果你想要一个绝对的基本网址:

    Url::to(['my_controller/action'], true);
    

    阅读更多:

    http://www.yiiframework.com/doc-2.0/yii-helpers-baseurl.html#to()-detail

    http://www.yiiframework.com/doc-2.0/guide-runtime-routing.html#creating-urls

    【讨论】:

    • 不,我知道,但它只返回 my_controller/action
    • 我终于想通了,我们只需要在 url 之后传递 true 例如:Url:to(['my_controller/action'],true) 它将返回 example.com/my_controller/action
    【解决方案2】:

    以 Yiiframework 2.0 中的 urlManager 和 Request 为例


    • Yii::$app->basePath ****>>>>**** D:\wamp\www\yiiframework2.0\project\backend

    • Yii::$app->homeUrl; ****>>>>**** /yiiframework2.0/project/backend/web/index.php

    • Yii::$app->getUrlManager()->createUrl('user') ****>>>>**** /yiiframework2.0/project/backend/web/index.php?r=用户

    • Yii::$app->urlManager->createUrl([‘site/page’, ‘id’ => ‘about’]) ****>>>>****
      /yiiframework2.0/project/backend/web/index.php?r=site%2Fpage&id=about

    • Yii::$app->urlManager->createUrl(['site/view', 'id' => 105]) ****>>>>**** /yiiframework2.0/project/backend /web/index.php?r=site%2Fview&id=105



    • Yii::$app->request->baseUrl ****>>>>**** /yiiframework2.0/project/backend/web


    • Yii::$app->request->url ****>>>>****
      /yiiframework2.0/project/backend/web/index.php

    【讨论】:

      猜你喜欢
      • 2015-03-07
      • 1970-01-01
      • 1970-01-01
      • 2011-09-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-25
      • 2016-11-24
      相关资源
      最近更新 更多