3

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

this.mappings["/includes"] = "#expandPath('../../priv/inc/')#";

然后在一个页面上,我设置了以下 CF 包括:

<cfinclude template="/includes/imageOptimise-thumbnail.cfm">

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

我查看了 CF Admin,但在日志中看不到任何说明存在错误的内容,但它在失败时清楚地显示 Coldfusion 'template not found' 错误消息。

有人有什么想法吗?

4

1 回答 1

5

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

根据ColdFusion Mappings and Relative Paths中的建议,

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

尝试按照博客的建议使 webroot 静态

<cfset this.mappings["/myapplication"] =getDirectoryFromPath(getCurrentTemplatePath())

/priv/inc/并从 webroot导航到

于 2019-03-11T13:52:07.437 回答