每个应用程序映射的Coldfusion随机失败

csb*_*er3 3 mapping coldfusion coldfusion-2018

在我的application.cfc文件中,有以下代码:

this.mappings["/includes"] = "#expandPath('../../priv/inc/')#";
Run Code Online (Sandbox Code Playgroud)

然后在页面上设置以下CF包含项:

<cfinclude template="/includes/imageOptimise-thumbnail.cfm">
Run Code Online (Sandbox Code Playgroud)

在提交页面的大部分时间里,imageOptimise-thumbnail页面运行没有任何问题,但偶尔会出现错误,提示它找不到imageOptimise-thumbnail.cfm。如果我重新提交页面,可能会起作用,但问题是,为什么有时无法找到该页面?

我查看了CF Admin,但在日志中看不到任何内容说有错误,但是当失败时,它显然显示了Coldfusion“找不到模板”错误消息。

任何人有任何想法吗?

Hed*_*707 5

我认为您的问题源于用于映射的路径是相对的事实。

根据ColdFusion映射和相对路径中的建议

故事的寓意是永远不要使用expandPath()创建相对于Webroot的映射。

尝试按照博客的建议将webroot设为静态

<cfset this.mappings["/myapplication"] =getDirectoryFromPath(getCurrentTemplatePath())
Run Code Online (Sandbox Code Playgroud)

/priv/inc/从webroot 导航到