欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

yii的方法createUrl生成路径问题

程序员文章站 2024-01-24 17:48:16
...
发现用 $this->createUrl('index/archives') 后成的路径是相对的这种 。 不是 www.xxxx.com/ 绝对的这种。请问一下有什么方法让 createUrl生成绝对的吗?我在网上找了好久都没有找到方法


回复讨论(解决方案)

使用 createAbsoluteUrl()就可以了。
$route = 'index/archives';
$params=array();
$url=$this->createAbsoluteUrl($route,$params);

http://www.yiiframework.com/doc/api/1.1/CController#createAbsoluteUrl-detail

https://github.com/yiisoft/yii/blob/1.1.14/framework/web/CController.php#L980

/**	 * Creates an absolute URL for the specified action defined in this controller.	 * @param string $route the URL route. This should be in the format of 'ControllerID/ActionID'.	 * If the ControllerPath is not present, the current controller ID will be prefixed to the route.	 * If the route is empty, it is assumed to be the current action.	 * @param array $params additional GET parameters (name=>value). Both the name and value will be URL-encoded.	 * @param string $schema schema to use (e.g. http, https). If empty, the schema used for the current request will be used.	 * @param string $ampersand the token separating name-value pairs in the URL.	 * @return string the constructed URL	 */	public function createAbsoluteUrl($route,$params=array(),$schema='',$ampersand='&')	{		$url=$this->createUrl($route,$params,$ampersand);		if(strpos($url,'http')===0)			return $url;		else			return Yii::app()->getRequest()->getHostInfo($schema).$url;	}