ColdFusion应用程序缓存switch语句

时间:2012-02-10 10:39:13

标签: caching coldfusion switch-statement

我不熟悉coldfusion中的缓存,但似乎它正在做一些不应该在我的网站上。 我只有一个索引页面,它使用一个大的switch语句来确定要包含的cfm文件,以构建我的网站的页面。没有一切正常,我甚至有一个默认案例,在尝试访问不存在的页面时会返回主页。

当我创建一个新页面并尝试转到它但同时忘记我需要先添加一个cfcase,转到默认情况。如果我然后创建所需的cfcase,它应该工作,但它已经缓存了最后一次的重定向,它在switch / case中遵循的路径,所以我仍然得到默认情况。即使从代码中删除了默认情况,它仍然会去那里。

有没有告诉coldfusion停止缓存我的开关/案例。剩下的内容可能是chached,没问题,只是没有开关/案例的路径..

编辑1 这是我的代码:

<html>
    <head>
    </head>
    <body>
        <cfswitch expression="#attributes.fuseaction#">
            <cfcase value="home">
                <cfinclude template="dsp_home.cfm" />
            </cfcase>
            <cfcase value="admin">
                <cfinclude template="admin/dsp_login.cfm" />
            </cfcase>
            <cfdefaultcase>
                <cf_goto fuseaction="home">
            </cfdefaultcase>
        </cfswitch>
    </body>
</html>

attributes.fuseaction是一个存储在所请求页面的url中的变量,如下所示:http://www.domain.com/index.cfm/fuseaction/#switch/case-variable#。 cf_goto是一个自定义标记,它提供301代码并重定向到该变量为home的指定页面。

当我按照上面的描述执行操作时,标题仍然会给我301错误代码,并且de重定向到默认的大小写页面。所以我不知道这是在这里缓存的。

1 个答案:

答案 0 :(得分:2)

CF不会缓存交换机/案例逻辑,所以它是一个红色的鲱鱼,可以用来解决你的问题。

你是否 - 在任何可能的情况下 - 在CFAdmin中打开了“可信缓存”?如果是这样,您需要清除它,以便CFM文件在请求时重新编译,并且您的更改将生效。

失败:根据Duncan的建议,我们需要查看您的代码。