我有一个需要更改的coldfusion 网站。对这种环境一无所知或经验(我知道 ASP.NET)。我需要做的就是根据页面的引用值(URL)编写一个条件,并在某些情况下重定向到另一个页面。谁能给我一个执行此操作的语法示例?
harlev
问问题
4272 次
5 回答
6
所有其他示例都可以使用...此外,如果您希望根据来自外部站点的推荐进行重定向,您可能需要检查 CGI.HTTP_REFERER。查看 CGI 范围以了解其他几个选项。
<cfif reFindNoCase('[myRegex]',cgi.http_referer)>
<cflocation url="my_new_url">
</cfif>
...我的示例使用正则表达式搜索 (reFind()
或reFindNoCase()
) 来检查引用 URL ...但您也可以根据您要查找的内容将其/
作为带有分隔符 (使用) 的列表进行检查。listContainsNoCase()
于 2008-12-17T15:45:09.593 回答
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 之后什么都不会发生。
于 2008-12-17T15:40:59.193 回答
1
有一段时间没有进行冷融合,但是:
<cfif some_condition_based_on_your_url>
<cflocation url="http://where_your_referrals_go">
</cfif>
<!--- continue processing for non-redirects --->
于 2008-12-17T15:28:27.737 回答
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
于 2008-12-17T15:33:59.100 回答
0
动态版本。
<cfif isdefined("somecondition")>
<cfset urlDestination = "someurl">
<cfelseif isdefined("somecondition")>
<cfset urlDestination = "someurl">
.
.
.
<cfelse>
<cfset urlDestination = "someurl">
</cfif>
<cflocation url = urlDestination>
于 2011-12-15T18:12:08.330 回答