在href中添加了斜杠

时间:2013-06-06 18:21:41

标签: php .htaccess

我想知道它是怎么可能的,这是我的代码:

echo '<span class="store_url">'.JText::_('WEB').': <a href="'.$item->store_url.'" target="_blank">'.$item->store_url.'</a></span>';

在输出中我得到:

<a target="_blank" href="/www.website.com">www.website.com</a>

在href和link中的值相同:$ item-&gt; store_url 如何在href中有额外的“/”? 它是joomla网站,我有标准的joomla .htaac​​cess,但添加了从http到https的重定向:

RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

1 个答案:

答案 0 :(得分:0)

我想这是Joomla或者它的插件?在Joomla控制面板或插件配置中,您可以将URL设置为您自己的站点。您可能已在那里输入www.website.com。您实际上应该已输入http://www.website.com。 Joomla或插件使用该值在网站中构建内部链接。

您遇到的问题是浏览器会将网址www.website.com视为相对路径到当前网页的路径。如果是http://www.website.com/,浏览器会将其视为绝对路径

浏览器找到此链接的页面位于域的根目录中。可能http://www.website.com/自己或http://www.website.com/something.php。因此浏览器自己将前导/添加到相对URL,以指示路径相对于域的根。 (您在浏览器的解释中看到呈现的HTML源中的/。只需查看原始HTML源,您就找不到领先/那里。)

http://www.website.com//www.website.com的相对关联最终会在http://www.website.com/www.website.com

结束语:这里的教训是,在安装和配置某些第三方软件时,请始终密切关注您正在设置的设置。如有可能,请参阅手册!