需要帮助了解Coldfusion URL推荐

时间:2015-02-23 22:19:27

标签: url coldfusion

我有一个ColdFusion网站,我需要根据用户访问网页的方式显示不同的文字。

即,

<cfif user comes from sitemap.cfm>
    Display this text
<cfelse>
    display this text
</cfif>

有人能指出我正确的方向吗?

2 个答案:

答案 0 :(得分:6)

你想看一下CGI环境变量,特别是HTTP_REFERER(不,这不会拼错 - 或者,我应该说,CGI变量的名称拼写错误)。

我相信HTTP_REFERER的价值将包含整个网址,包括查询字符串,因此您必须解析它 - 或者使用CONTAINSfindNoCase()<cfif>声明中:

<cfif findNoCase("sitemap.cfm", cgi.HTTP_REFERER)>
    Display this text
<cfelse>
    display this text
</cfif>

值得注意的是,如果您从HTTP_REFERER转到HTTPHTTPS的值将为空 - 反之亦然信。

答案 1 :(得分:1)

使用CGI.HTTP_REFERERDavid Faber提到的一种可能的解决方案。这是最简单的方法,我会推荐它。

如果您因为某些原因没有或不能信任CGI.HTTP_REFERER值,那么另一种解决方案是实现对用户的一种跟踪(更准确地说是他的http请求) )。例如,您可以:

  • Session范围(而非Request范围)中使用(键,值)例如,在onRequestStart(String targetPage)Application.cfm内实施(或直接在targetPage sitemap.cfm?)。然后执行您需要或想要执行的操作,具体取决于SESSION[key]值和COOKIE值。
  • 使用相同的技术但使用cfcookie范围(或使用{{1}}?)。取决于http请求工作流程......

我认为可能还有其他跟踪技巧,它取决于您: - )