首先您需要分析引用字符串,如果不是空的。這可以通過不同的方式完成。
考慮這個類似谷歌的字符串:
<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/" />
當匹配搜索短語關鍵字,請使用網址搬遷。
這應該在Application.cfc/.cfm中進行。另外,如果您的登陸頁面是HTML頁面,Application.cfc甚至不會觸發。 (除非你已經配置你的網頁瀏覽器來將HTML頁面作爲cfm進行處理。) – ale 2010-06-02 18:03:48