首页 > 解决方案 > 如何在 Smarty 模板中使用 http_referer 为内部链接制作后退按钮

问题描述

我在我的网站上使用以下代码在 Smarty 模板中创建一个后退按钮:

<div id="back-button">
<a href="{$smarty.server.HTTP_REFERER}">BACK</a>

这在浏览内部页面时根据需要工作。但是,当用户通过外部网站上的超链接访问我的网站时,后退按钮会将他重定向到该外部网站。我希望该按钮仅在 http_referer 值是内部链接时才起作用。至于外部链接,它应该重定向到我网站的主页。

对不起,如果你我的问题非常简单。我是 Smarty 的新手。

PS我知道如何用Javascript制作它。我需要它使用 smarty。

谢谢

标签: phpsmartyhttp-referer

解决方案


尝试这个

{if isset($smarty.server.HTTP_REFERER) && strpos($smarty.server.HTTP_REFERER, $smarty.server.HTTP_HOST) != false}
  <a href="{$smarty.server.HTTP_REFERER}">Back</a>
{else}
  <a href="/">Back</a>
{/if}

它检查引荐来源网址是否存在并且来自同一主机,然后添加引荐来源网址链接,如果不存在则添加主页链接


推荐阅读