cfm脚本的重定向代码

时间:2009-12-16 03:36:12

标签: coldfusion redirect

我需要一个CFM脚本放在我的网站主页上。

如果访问者使用某个搜索从搜索引擎到达 短语,我想将它们重定向到各种页面。

例如:

以下搜索将重定向到以下页面:

成为商务教练 - > http://www.businesscoach.com/BusinessCoaching.html

找一位商务教练 - > http://www.businesscoach.com/go/bc/find-a-business-coach/index.cfm

请帮我做这个......

由于

1 个答案:

答案 0 :(得分:3)

首先,您需要分析referer字符串,如果不是空的话。这可以通过不同的方式完成。

考虑这个类似Google的字符串:

<p><a href="referer.cfm?q=become+a+business+coach&ie=utf-8&oe=utf-8">test</a></p>

相同的 referer.cfm 应该执行检查。

说,最简单且完全不灵活的方法是搜索引用者:

<cfif cgi.HTTP_REFERER NEQ ""
      AND FindNoCase("business", cgi.HTTP_REFERER)
      AND FindNoCase("coach", cgi.HTTP_REFERER)>

    <cflocation url="http://where.you.want.to.go.tld/" addtoken="false">

</cfif>

更高级的方法可以通过搜索查询关键字进行搜索。首先你应该拆分字符串:

<cfif cgi.HTTP_REFERER NEQ "">

    <!--- extract the search phrase --->
    <cfloop list="#cgi.HTTP_REFERER#" delimiters="&" index="token">

        <cfif FindNoCase("?q=", token)>

            <cfset phrase = ListLast(token, "?q=") />

            <!--- extract the keywords --->
            <cfloop list="#phrase#" delimiters="+" index="keyword">

                <!--- search needed keyword and perform relocation --->

            </cfloop>

        </cfif>

    </cfloop>

</cfif>

如何搜索关键字 - 由您决定,可能查询数据库并搜索匹配项,也可以直接在代码中创建配置。在这两种方式中,我都使用了一组结构,例如:

<cfset rule = StructNew() />
<cfset rule["keywords"] = "become,business,coach" />
<cfset rule["url"] = "http://where.you.want.to.go.tld/" />

关键字与搜索词组匹配时,请使用 url 重新定位。