Https генерация url

Общие вопросы по использованию второй версии фреймворка. Если не знаете как что-то сделать и это про Yii 2, вам сюда.
Ответить
louisvuitton
Сообщения: 203
Зарегистрирован: 2014.02.16, 03:09

Https генерация url

Сообщение louisvuitton »

Товарищи, вопрос так и не решился
почему
yii\helpers\Url::home('https') генерирует:

https://example.ruhttp://example.ru

Откуда берется дублирование?
Никаких спецнастроек для https в фреймворке не делал (только правил .htaccess)
louisvuitton
Сообщения: 203
Зарегистрирован: 2014.02.16, 03:09

Re: Https генерация url

Сообщение louisvuitton »

и зачем столько вариантов получить url
Url::home()
Yii::$app->homeUrl;
Yii::getAlias('@web')

что в каких случаях использовать.
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Https генерация url

Сообщение urichalex »

Yii::$app->homeUrl возвращает относительный путь
Yii::getAlias('@web') - разбивает алиас к опубликованной папке web
Url::home() - посмотрите в коде, как оно рабтает
louisvuitton
Сообщения: 203
Зарегистрирован: 2014.02.16, 03:09

Re: Https генерация url

Сообщение louisvuitton »

Ладно, мне надо в странице прописать пути к некоторым картинкам
что использовать?
Yii::$app->homeUrl . '/путь/к/img.jpg';
Yii::getAlias('@web') . '/путь/к/img.jpg';
Url::home() . '/путь/к/img.jpg';

почему?
urichalex
Сообщения: 994
Зарегистрирован: 2015.08.07, 11:03

Re: Https генерация url

Сообщение urichalex »

Код: Выделить всё

Yii::getAlias('@web/path/to/image.jpg')

Код: Выделить всё

echo Url::to(Yii::getAlias('@web/img/pIkfp.gif'), true);
chesar
Сообщения: 514
Зарегистрирован: 2013.04.10, 17:49

Re: Https генерация url

Сообщение chesar »

Код: Выделить всё

// /index.php?r=site/index
echo Url::to(['site/index']);

// /index.php?r=site/index&src=ref1#name
echo Url::to(['site/index', 'src' => 'ref1', '#' => 'name']);

// /index.php?r=post/edit&id=100     псевдоним "@postEdit" задан как "post/edit"
echo Url::to(['@postEdit', 'id' => 100]);

// Текущий URL
echo Url::to();

// /images/logo.gif
echo Url::to('@web/images/logo.gif');

// images/logo.gif
echo Url::to('images/logo.gif');

// http://www.example.com/images/logo.gif
echo Url::to('@web/images/logo.gif', true);

// https://www.example.com/images/logo.gif
echo Url::to('@web/images/logo.gif', 'https');
andku83
Сообщения: 988
Зарегистрирован: 2016.07.01, 10:24
Откуда: Харьков

Re: Https генерация url

Сообщение andku83 »

louisvuitton писал(а): 2018.05.16, 17:18 https://example.ruhttp://example.ru

Откуда берется дублирование?
так получилось потому что вы пытались сгенерировать url на домене который был на http

вот еще есть вариантик, его также можно комбинировать как и в вариантах предложенных выше:

Код: Выделить всё

Yii::$app->urlManager->createAbsoluteUrl('@web/images/logo.gif')
louisvuitton
Сообщения: 203
Зарегистрирован: 2014.02.16, 03:09

Re: Https генерация url

Сообщение louisvuitton »

andku83 писал(а): 2018.05.16, 21:35 так получилось потому что вы пытались сгенерировать url на домене который был на http
Это понятно, но что это значит?! почему так происходит? есть какая то настройка указать yii, что сайт теперь работает по https?
Url::to(some/route'', 'https') работает норм
а Url::home('https'); выдает дублированный домен
andku83 писал(а): 2018.05.16, 21:35 вот еще есть вариантик, его также можно комбинировать как и в вариантах предложенных выше:

Код: Выделить всё

Yii::$app->urlManager->createAbsoluteUrl('@web/images/logo.gif')
Господи
Я хотел понять зачем столько вариантов, какой лучше использовать, а вы мне еще подкинули
Ответить