Yii将基本URL附加到href

时间:2014-01-27 14:19:08

标签: yii hyperlink href

我的网页上有外部链接:

<a target="_blank" rel="nofollow" href=<?php echo $r['url'] ;?>>
                                                VISIT STORE
                                               </a>

当$ r ['url']有http://时,它会显示正确的外部网址,但只有www或只有网站名称时,会附加网页的网址。

    Case 1 : url = http://google.com    Works fine
    Case 2:  url = www.google.com      creates a link as: http://localhost/appname/controller/action/www.google.com

3 个答案:

答案 0 :(得分:1)

Yii与您的问题没有任何关系。您不知道绝对URL和相对URL之间的区别。

在您的代码中,您不在任何地方使用Yii。 Yii拥有非常强大的URL管理器,其方法有:createUrl,createAbsoluteUrl等。你不要用它。

你需要了解绝对和相对URL之间的区别,你的问题就消失了。 internet和StackOverflow中还有更多信息:Absolute vs relative URLs

答案 1 :(得分:0)

试试这个:

<?php echo CHtml::link('Google', '//www.google.com', array('target'=>'_blank')) ?>

答案 2 :(得分:0)

希望您的所有网址都是外部的。然后查看您的网址http:。如果url包含http,则直接使用,否则添加。

function is_valid_url($url)
{
   if(strpos($url, "http://")!==false)
      return $url; // correct
   else return "http://$url";// http not found.
}

a标记

<a target="_blank" rel="nofollow" href=<?php echo is_valid_url($r['url']) ;?>>
   VISIT STORE  </a>