YII 2 Получить URL сайта
Мое приложение развернуто на localhost/upload.
Я использую следующий код для генерации относительного URL.
Url::to('@web/my_controller/action'); // it returns /upload/my_controller/action
Но вместо этого мне нужен полный URL-адрес: http://localhost/upload/my_controller/action.
Я что-то пропустил?
2 ответа
Решение
Вы должны просто использовать маршрут:
Url::to(['my_controller/action']);
И если вы хотите абсолютную базовую ссылку:
Url::to(['my_controller/action'], true);
Прочитайте больше:
http://www.yiiframework.com/doc-2.0/yii-helpers-baseurl.html
http://www.yiiframework.com/doc-2.0/guide-runtime-routing.html
Следуйте примеру urlManager и запросу в Yiiframework 2.0
- 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=user
- 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? г = сайт%2Fview& ID = 105
- Yii:: $ app-> urlManager-> createAbsoluteUrl (”) **** >>>> ****
http://127.0.0.1/yiiframework2.0/project/backend/web/index.php?r=
- Yii:: $ app-> urlManager-> createAbsoluteUrl ('site/view/index') **** >>>> **** http://127.0.0.1/yiiframework2.0/project/backend/web/index.php?r=site%2Fview%2Findex
- Yii:: $ app-> request-> baseUrl **** >>>> **** /yiiframework2.0/project/backend/web
- Yii:: $ app-> request-> absoluteUrl **** >>>> ****
http://127.0.0.1/yiiframework2.0/project/backend/web/index.php
- Yii:: $ app-> request-> url **** >>>> ****
/yiiframework2.0/project/backend/web/index.php