2013-08-27 85 views
1

当我尝试访问未找到的页面时,Coldfusion 10提供了此错误页面,而不是重定向到我们的404页面未找到页面。我如何让Coldfusion重定向到我们的Page Not Found页面,而不是提供此错误消息?Coldfusion 10文件未找到错误

Coldfusion File Not Found Error

+2

您是否在CFAdmin中设置了缺失的模板处理程序? –

+1

或在Application.cfc中设置onMissingTemplate函数(如果是这样,发布代码) –

回答

1

同时,他在这一点,因而引发该错误的Web服务器实际上不是在请求的控制。它正在等待CF将请求“回传”为字符串缓冲区 - 要提供的内容。

这意味着CF中有额外的步骤来处理缺失的模板。你可以设置(正如Adam所说的)CF管理员缺少的模板处理程序 - 或者如果你正在使用Application.cfc,你可以使用函数onMissingTemplate()来做任何你认为适合缺少cfm页面的操作。

+0

我们可以在Coldfusion Administrator中向“Missing Template Handler”添加一个页面,但似乎并不接受ColdFusion页面作为Page Not找到页面(我们是/errorPages/404.cfm)。但是,它会允许我们使用普通的txt文件或普通的HTML文件。它怎么会不会将页面未找到页面作为CFM文件进行处理? – azam

+0

@azam - 它确实会接受ColdFusion页面作为缺少的模板处理程序。你的问题很可能是它在'/ errorPages/404.cfm'找不到你的ColdFusion页面。 ColdFusion页面必须位于您的webroot下,并且Missing Template Handler下的引用与webroot相关。 –

+0

@ Miguel-F - 经过进一步调查,它找到了我们的404.cfm页面,但它正在失去我们的应用程序范围。它可以处理cfm,但我们的'/ errorpages/404.cfm'具有对应用程序范围的引用,并且我认为它引发了一个错误。当'Missing Template Handler'被触发时,这些范围如何丢失? – azam

0

由于请求是针对.cfm页面进行的,Coldfusion预计会处理请求,因为找不到文件,Coldfusion将触发标准的404错误。您可以执行以下两件事之一:

  1. 在Coldfusion管理员身上设置404模板,如Mark A Kruger建议的那样。
  2. 通过使用onMissingTemplate()函数设置Application.cfc来处理请求。这里有更多的文档:http://bit.ly/17k4Ry8

注意:你可以设置你的onMissingTemplate()函数重定向到实际的404模板,因为它听起来像你已经有一个。这将被视为爬虫的软404。

祝你好运!

谢谢-Al