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