1

我有一个需要更改的coldfusion 网站。对这种环境一无所知或经验(我知道 ASP.NET)。我需要做的就是根据页面的引用值(URL)编写一个条件,并在某些情况下重定向到另一个页面。谁能给我一个执行此操作的语法示例?

4

5 回答 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 回答