ColdFusion应用程序缓存switch语句



我不熟悉coldfusion中的缓存,但它似乎在做一些在我的网站上不应该做的事情。我只有一个索引页面,它使用一个大的switch语句来确定要包含哪些cfm文件,以构建我的网站页面。不是所有东西都能正常工作,我甚至有一个默认情况,当试图访问一个不存在的页面时,它会返回主页。

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

有没有告诉coldfusion停止缓存我的switch/case。其余的内容可能会被破解,没问题,只是不是交换机/机箱的路径。。

编辑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-变量#。cfgoto是一个自定义标记,它提供301代码并重定向到该变量所在的指定页面。

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

CF不缓存切换/案例逻辑,所以关注它来解决实际问题是转移注意力。

您是否在CFAdmin中打开了"Trusted Cache"?如果是这样,您需要清除它,以便CFM文件在被请求时重新编译,并且您的更改将生效。

如果做不到:我们需要按照邓肯的建议查看您的代码。

最新更新