發現用 $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;elsereturn Yii::app()->getRequest()->getHostInfo($schema).$url;}