Intereting Posts
Как я могу получить завершение кода jQuery в NetBeans? строка поиска не работает при использовании mysqli Два необычных PHP-оператора, используемых вместе, чтобы получить цвет пикселя изображения, пожалуйста, объясните Попытка захватить число после определенной строки в содержимом вызова с помощью curl Как решить команду UPDATE, запрещенную пользователю в mysql? Как определить маршрут Laravel с параметром, который содержит символ косой черты сортировать массив в порядке DESC API AtTask – добавление времени выключения Как установить правильный код базы данных codeigniter? Частота пересылки по вызову PHP неизбежно? Извлечение данных из объектов формы в виде массива значений Можем ли мы обмануть $ _SERVER / пользовательский ip с помощью php cURL? связанные с php арифметикой Как загрузить изображение из URL-адреса в PHP Возможно ли запускать .php-файлы на моем локальном компьютере?

Как установить базовый URL-адрес в Yii Framework

Когда я делаю

print_r(Yii::app()->request->baseUrl) 

Я получаю пустую строку. Сообщение на форуме Yii говорит, что по умолчанию это пусто . Как изменить значение по умолчанию, чтобы использовать абсолютные URL-адреса?

Как говорится в сообщении на этом форуме, он может отличаться для разных платформ или если веб-приложение не находится в папке по умолчанию.
Все это работает для меня:

 echo Yii::app()->request->baseUrl."<br/>" ; print_r(Yii::app()->request->baseUrl); echo "<br/>"; var_dump(Yii::app()->getBaseUrl(true)); echo "<br/>"; echo Yii::app()->request->getBaseUrl(true); 

Я использовал yiic для создания веб-приложения с настройками по умолчанию, используя следующую команду в терминале, yiic webapp /path/to/webapp
Таким образом, создается необходимая структура каталогов для веб-приложения, а также файлы скелета по умолчанию. Попробуйте, а затем посмотрите, как это работает. Я новичок в yii.

Редактировать:

Это решение, возможно, сработало для op, но правильный способ baseUrl может быть установлен с помощью ответа ecco на этот вопрос .

Вы можете изменить /path/to/application/protected/config/main.php, чтобы изменить значение по умолчанию. Добавьте компонент запроса и настройте basicUrl porperty.

 return array( ... 'components' => array( ... 'request' => array( 'baseUrl' => 'http://www.example.com', ), ), ); 

Это, скорее всего, пустое, потому что ваш загрузочный файл (index.php) находится в вашем веб-корне. Если это не так, вы должны увидеть какую-то ценность. Его изменение победит.

Вы бы использовали:

 href="<?php echo 'http://www.myhost.com' . Yii::app()->request->baseUrl; ?>/css/screen.css" 

который в большинстве случаев не изменил бы путь, но если вы, скажем, решили разместить ваше приложение Yii в подкаталоге, то оно было бы портативным. (Просто удалите метод http и имя хоста выше, чтобы он работал на том же хосте, на котором пользователь включен.)

Yii :: app () -> baseUrl возвращает только относительный путь от url к index.php, например: 127.0.0.1/index.php возвращает '' 127.0.0.1/yii/index.php возвращает '/ yii'

Если вы используете Url-помощник для генерации URL-адресов, вам нужно будет установить keyUrl-ключ для компонента UrlManager

  'urlManager' => [ 'baseUrl' => 'http://example.com', 

Затем вы можете создать абсолютный URL-адрес с помощью помощника Url as,

echo Url::to(['site/index', 'src' => 'ref1', '#' => 'name'], true); // output ===> http://example.com/index.php?r=site%2Findex&src=ref1#name

попробуйте echo Yii::$app->baseUrl(true)
Обратите внимание, что истинный параметр – это то, что нужно.