如何在ColdFusion中基于引用重定向

时间:2008-12-17 15:12:18

标签: coldfusion

我有一个我需要改变的coldfusion网站。不知道或不熟悉这个环境(我知道ASP.NET)。我需要做的就是根据页面的引用值(URL)编写条件,并在某些情况下重定向到另一个页面。 任何人都可以给我一个执行此操作的语法示例吗?

5 个答案:

答案 0 :(得分:5)

所有其他示例都可以使用...如果您希望根据外部网站的引荐进行重定向,您可能需要检查CGI.HTTP_REFERER。查看其他几个选项的CGI范围。

<cfif reFindNoCase('[myRegex]',cgi.http_referer)>
    <cflocation url="my_new_url">
</cfif>

...我的示例使用正则表达式搜索(reFind()reFindNoCase())来检查引荐网址...但您也可以将其作为列表/检查分隔符(使用listContainsNoCase())取决于您要查找的内容。

答案 1 :(得分:2)

让我们假设您基于此的URL变量名为goOn(http://yoursite.com?goOn=yes),然后以下代码将起作用:

<cfif structKeyExists(url, "goOn") AND url.goOn eq "yes">
    <cflocation url="the_new_url" addtoken="false">
</cfif>

cflocation后不会发生任何事情。

答案 2 :(得分:1)

一段时间没有做过冷敷,但是:

<cfif some_condition_based_on_your_url>
  <cflocation url="http://where_your_referrals_go">
</cfif>
<!--- continue processing for non-redirects --->

答案 3 :(得分:1)

ColdFusion中有一个CGI变量范围,用于保存传入请求的信息。请尝试以下方法:

<cfif CGI.SCRIPT_NAME EQ 'index.cfm'>
    <cflocation url="where you want it to redirect" />
</cfif>

要了解CGI范围内还有哪些可用内容,请查看以下内容: http://livedocs.adobe.com/coldfusion/8/htmldocs/Expressions_8.html#2679705

答案 4 :(得分:0)

动态版。

<cfif isdefined("somecondition")>
    <cfset urlDestination = "someurl">
<cfelseif isdefined("somecondition")>
    <cfset urlDestination = "someurl">
.
.
.
<cfelse>
    <cfset urlDestination = "someurl">
</cfif>

<cflocation url = urlDestination>