如何在Yii Framework中设置基本URL

Dav*_*Xia 9 php yii yii-routing

当我做

print_r(Yii::app()->request->baseUrl)
Run Code Online (Sandbox Code Playgroud)

我得到一个空字符串.Yii论坛上的帖子说默认为空白.如何更改其默认值以便我可以使用绝对URL?

小智 33

您可以编辑/path/to/application/protected/config/main.php来更改默认值.添加请求组件,并配置baseUrl属性.

return array(
    ...
    'components' => array(
        ...
        'request' => array(
            'baseUrl' => 'http://www.example.com',
        ),
    ),
);
Run Code Online (Sandbox Code Playgroud)

  • 很高兴我发现了这个....我试图在顶级数组中设置基本网址.谢谢. (2认同)

boo*_*dev 12

正如该论坛中的帖子所说,对于不同的平台,或者如果Web应用程序不在默认文件夹中,它可能会有所不同.
所有这些都适合我:

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);
Run Code Online (Sandbox Code Playgroud)

我使用yiic来创建Web应用程序,在终端中使用以下命令进行默认设置,yiic webapp /path/to/webapp
这样就可以为Web应用程序以及默认的框架文件生成必要的目录结构.尝试一下,看看它是如何工作的.我是yii自己的新手.

编辑:

此解决方案可能适用于op,但ecco对此问题的回答显示了可以设置baseUrl的正确方法.