php - 如何在 Smarty 模板中使用 http_referer 为内部链接制作后退按钮
问题描述
我在我的网站上使用以下代码在 Smarty 模板中创建一个后退按钮:
<div id="back-button">
<a href="{$smarty.server.HTTP_REFERER}">BACK</a>
这在浏览内部页面时根据需要工作。但是,当用户通过外部网站上的超链接访问我的网站时,后退按钮会将他重定向到该外部网站。我希望该按钮仅在 http_referer 值是内部链接时才起作用。至于外部链接,它应该重定向到我网站的主页。
对不起,如果你我的问题非常简单。我是 Smarty 的新手。
PS我知道如何用Javascript制作它。我需要它使用 smarty。
谢谢
解决方案
尝试这个
{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}
它检查引荐来源网址是否存在并且来自同一主机,然后添加引荐来源网址链接,如果不存在则添加主页链接
推荐阅读
- node.js - Dockerize meteor application
- security - 如何防止访问 weblogic 上的特定 JMS 队列
- reactjs - 如何从组件中检索状态
- angularjs - 通过 Jasmine Karma 运行测试用例时控制器未注册错误
- qml - 如何将样式模块添加到
- vb.net - 带有 webview-element 的用户表单不加载,程序冻结
- batch-file - 变量未存储正确的字符串
- database-design - 将 SQL 模式建模到 DynamoDB
- c# - 从 C# 中的其他表单更新 datagridview
- matlab - Matlab:如何将文件加载为结构数组