2009-12-16 19 views

回答

3

首先您需要分析引用字符串,如果不是空的。這可以通過不同的方式完成。

考慮這個類似谷歌的字符串:

<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/" /> 

當匹配搜索短語關鍵字,請使用網址搬遷。

+0

這應該在Application.cfc/.cfm中進行。另外,如果您的登陸頁面是HTML頁面,Application.cfc甚至不會觸發。 (除非你已經配置你的網頁瀏覽器來將HTML頁面作爲cfm進行處理。) – ale 2010-06-02 18:03:48