Coldfusion - 在服务器上存在时找不到.cfm文件

lif*_*zed 5 coldfusion

大约每天10次,我们在Coldfusion应用程序日志中收到文件未找到错误,以查找服务器上存在的文件.具体错误是

"File not found: /rewrite.cfm The specific sequence of files included or processed is: '''' "
Run Code Online (Sandbox Code Playgroud)

和堆栈跟踪:

coldfusion.runtime.TemplateNotFoundException: File not found: /rewrite.cfm
    at coldfusion.filter.PathFilter.invoke(PathFilter.java:69)
    at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:70)
    at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
    at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
    at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:46)
    at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
    at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
    at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
    at coldfusion.CfmServlet.service(CfmServlet.java:200)
    at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
    at jrun.servlet.FilterChain.doFilter(FilterChain.java:86)
    at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
    at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)
    at jrun.servlet.FilterChain.doFilter(FilterChain.java:94)
    at jrun.servlet.FilterChain.service(FilterChain.java:101)
    at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:106)
    at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
    at jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:286)
    at jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:543)
    at jrun.servlet.jrpp.JRunProxyService.invokeRunnable(JRunProxyService.java:203)
    at jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:320)
    at jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:428)
    at jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:266)
    at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)
Run Code Online (Sandbox Code Playgroud)

我们的服务环境:

  • Ubuntu 10.04 LTS
  • Coldfusion 9.01
  • CFWheels

虽然与我们服务的请求数量相比,这种情况发生的次数相对较少,但我仍然想知道这一点.

有没有人见过这个错误,你能告诉我为什么Coldfusion随机决定文件不存在吗?

谢谢.

Ben*_*oom 1

除非您更改了它,否则“/”是 CF 中的别名目录。在Windows、IIRC中,这指向安装过程中指定的文档根目录(除非修改),我认为对于Linux系统来说它是类似的。我的猜测是发生了以下两件事之一:

  • CFWheels 期望安装在根目录中,但事实并非如此(或者 / 未指向 CFWheels 的安装位置)
  • 您正在尝试使用 / 指向一个不是 CF 中别名的目录

尝试确保 / 指向 CF 管理器中缺少模板的冷器。