我有以下目录结构:
/user1/
/user1/bla.cfm
/index.cfm
并创建了一个名为users
的目录:
/users/
/user1/
/user1/bla.cfm
/index.cfm
我在/ user1 /到/ users / user1 /中设置了一个符号链接(在linux下使用ln -s
)并尝试<cfinclude>
bla.cfm运行良好。来自index.cfm:
<CFINCLUDE template="users/user1/bla.cfm" />
经过一些测试后,我删除了符号链接(/ users / user1 /)并将真实目录/ user1 /移动到/ users / user1 /。突然,bla.cfm没有让我包含并抛出一个未找到异常的模板。
在设置从/ users / user1 /到/ user1 /的符号链接后,<cfinclude>
再次工作。我无法在我们的开发服务器上重现这个!?任何提示如何解决这个问题?
Btw所有用户目录(user2,user3等)内部都有一个bla.cfm - 只有2个有上述问题。似乎这些用户处于活动状态,并且通过符号链接包含了bla.cfm
。这些符号链接及其目标是否缓存在某个地方?
修改
我尝试在CFAdmin中清除模板缓存。
进一步测试: 来自index.cfm:
expandpath("/users/user1/bla.cfm") -> correct path
fileexists(expandpath("/users/user1/bla.cfm")) -> saying "YES"
但:
fileexists(expandpath("users/user1/bla.cfm")) -> saying "NO"
答案 0 :(得分:1)
也许这是映射的一些问题?在最后一个包括你使用绝对路径,在第一个你正在使用相对路径。
以下是有关映射的一些链接: http://www.coldfusionmuse.com/index.cfm?mode=entry&entry=8E676EBA-A0EF-5BB2-1461BEA3C00CC076
答案 1 :(得分:0)
您没有指定如何设置'符号链接' - 您是说您在CF管理员中创建了映射?如果是这样,请检查/ cfusion / lib /文件夹中的neo-runtime.xml文件,看看是否已正确更新。
答案 2 :(得分:0)
重新启动coldfusion服务器实例解决了这个问题。