我的网页上有外部链接:
<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
答案 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>