如果请求的页面不存在,将用户重定向到主页的最有效方法是什么?

时间:2011-10-04 13:56:00

标签: coldfusion coldfusion-9 application.cfc

我正在使用ColdFusion 9.1。

我正在从头开始重建网站并将现有域名指向它。该网站每天仍然受到一些点击,我想利用它。我想将这些页面请求重定向到主页,而不是当前正在提供的错误。

我正在寻找一个ColdFusion解决方案来将错误的请求移动到主页。因此,如果他们请求domain.com/BadPage.cfm?QString=XYZ,他们将被移至domain.com /.

我尝试在Application.cfc中使用以下方法,但我无法按照描述工作。它似乎没有效果。

<cffunction name="OnError" access="public" returntype="void" output="true">
<cfargument name="Exception" type="any" required="true" /">
<cfargument name="EventName" type="string" required="false" default="" />
<cfif Exception>
    <cflocation url="http://www.MyDomain.cfom/">
</cfif>
<!--- Return out. ---> 
<cfreturn />
</cffunction>

简而言之,什么是最简单的ColdFusion意味着重定向错误的请求?

2 个答案:

答案 0 :(得分:4)

onError不会捕获丢失的模板。将onMissingTemplate处理程序添加到Application.cfc:

<cffunction name="onMissingTemplate" returntype="Boolean" output="false">
    <cfargument name="templateName" required="true" type="String" />

    <!--- Put your home page file name here --->
    <cflocation url="/index.cfm" />

    <cfreturn true />
</cffunction>

答案 1 :(得分:4)

使用onMissingTemplate()

<cffunction name="onMissingTemplate">
   <cfargument type="string" name="targetPage" required=true/>

    <cflocation url="http://www.MyDomain.cfom/">
</cffunction>