我需要一个CFM脚本放在我的网站主页上。
如果访问者使用某个搜索从搜索引擎到达 短语,我想将它们重定向到各种页面。
例如:
以下搜索将重定向到以下页面:
成为商务教练 - > http://www.businesscoach.com/BusinessCoaching.html
找一位商务教练 - > http://www.businesscoach.com/go/bc/find-a-business-coach/index.cfm请帮我做这个......
由于
答案 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 重新定位。