我需要一个CFM脚本放在我的网站主页上。
如果访问者从搜索引擎使用某个搜索短语到达,我希望将他们重定向到不同的页面。
例如:
以下搜索将重定向到以下页面:
成为一名商业教练-> http://www.businesscoach.com/BusinessCoaching.html
找一位商业教练-> http://www.businesscoach.com/go/bc/find-a-business-coach/index.cfm
请帮我做这件事。
谢谢
发布于 2009-12-16 19:35:24
首先,您需要分析referer字符串,如果不为空的话。这可以通过不同的方式来完成。
考虑一下这个类似Google的字符串:
<p><a href="referer.cfm?q=become+a+business+coach&ie=utf-8&oe=utf-8">test</a></p>Same referer.cfm应执行检查。
比方说,最简单且完全不灵活的方法是通过referer进行搜索:
<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进行重新定位。
https://stackoverflow.com/questions/1912101
复制相似问题