【发布时间】:2013-11-27 10:34:45
【问题描述】:
我们在 IIS 8 上有一个小问题。
我们一直在尝试使 cfheader 标记在 503 错误下工作,但每次它似乎都会生成一个由 IIS 生成的简单纯文本页面。
我们已经放弃了让它看起来漂亮的尝试,并提出了一个漂亮的解决方案。无论如何,它的一部分。
我们的想法是在浏览时为机器人生成一个 503 页面,为人类生成一个干净的页面。
下面是代码。
<cfif findNoCase("googlebot", cgi.HTTP_USER_AGENT)>
<cfset today = dateFormat(now(), 'dd/mm/yy')&timeFormat(now(), 'HH:mm:ss')>
<cfset urlString = "http://"&cgi.SERVER_NAME>
<cfif len(trim(cgi.QUERY_STRING))>
<cfset urlString = urlString&"?"&cgi.QUERY_STRING>
</cfif>
<cfmail to="david.imrie@pistachiomedia.com.au" from="noreply@pistachiomedia.com.au" subject="Google Has Indexed the website #cgi.SERVER_NAME#">
Google Detected @ #urlString#
</cfmail>
<!--- eventually alert the search engine --->
<cfheader statuscode="503" statustext="Service Temporarily Unavailable"/>
<cfheader name="retry-after" value="3600" />
<cfelse>
Beautiful page content here
</cfif>
我想知道的是……有人知道可以检测更广泛搜索引擎的 UDF 吗?因为我想让网站在搜索引擎浏览网站时通知我。
谢谢
【问题讨论】:
-
Webtrends,一个网页分析软件,目前在keyword.ini文件中有592个“搜索引擎”。也许stackoverflow.com/questions/677419/…可以帮助你,即使它不是cfml
-
为什么当机器人尝试索引您的网站时返回 503 错误?您不希望搜索引擎索引您的网站吗?您还可以采取其他措施来防止这种情况发生。
-
等等,我刚刚重读了一遍——关键是 503; OP 真正想要的是显示一个临时维护页面,但是 IIS 正在破坏他们显示人性化页面 将其作为状态 503 发送的能力,所以他们'正在尝试通过对人类使用 200 和对机器人使用 503 来解决问题,现在他们没有寻求解决实际问题的帮助,而是询问解决方法。 mywiki.wooledge.org/XyProblem
-
感谢 Peter Boughton,是的,您的总结正确。对不起,如果我的问题有很大的误导性。
标签: coldfusion user-defined-functions