ColdFusion 10 Update 11 404处理程序未触发

我知道CF 10有许多围绕404处理的问题。 这似乎与其他报告不同。 细节:

  • Win2k8 R2 / 64和IIS7.5
  • 从独立服务器上的相同配置升级。 唯一不同的是CF9 - > CF 10.在CF9上所有的工作都很好。 在原服务器上实现的Adobe CF9锁定,在此服务器上实施CF10锁定。
  • 缺少模板处理程序在CF Admin中设置为/404.cfm,应该将其转换为Cfusion根目录(c: ColdFusion10 cfusion wwwroot)。
  • IIS已配置为跟踪失败的404请求
  • IIS 404处理是默认的(最初执行一个CF URL但被移除以简化调试)。
  • 缺少模板处理程序所在的Coldfusion webroot是默认安装位置
  • IIS站点根目录完全不同:c: Other Place SiteRoot
  • 在同一个ColdFusion webroot中的CF Admin中也设置了一个站点范围的错误处理程序,并按预期工作。
  • 404.cfm非常简单:

    <cfheader
       statuscode="404"
       statustext="Not Found">
    <h1>404</h1><p>Page not found</p>
    <cfoutput>#now()#</cfoutput>
    

    输入错误的网址[domain] /foo.cfm应显示上述模板。 相反,我得到一个IIS错误屏幕。 缺少CF的模板处理程序将被忽略。 IIS失败的请求追踪表明网址是

    http://[mydomain]:80/jakarta/isapi_redirect.dll
    

    并在步骤1中显示详细视图

    RequestURL="http://[mydomain]:80/foo.cfm
    

    我已经看到了围绕CF10和404的许多问题,但从来没有完全忽略丢失的模板处理程序分配。 在CF9中,这将产生预期的产出。 任何人看到这样的事情?

    编辑:
    我也尝试配置这个来匹配我运行的另一个CF9服务器:添加一个CF映射到网站的Web根目录。 然后将丢失的模板处理程序放入网站的根目录中,而不是CF默认Web根目录,最后在cfadmin中使用映射的文件夹指向网站根目录中缺失的模板处理程序。 同样的问题。 在CF9中运行良好,而且完全没有使用CF10。

    EDIT2:
    正如Miguel F在评论中指出的那样,你可以在CF Admin中关闭HTML错误代码,这会让Missing Template Handler失败......但是你得到了200头文件。 显然cfheader语句被忽略,因为我已经尝试将cfheader放置在模板的开始和结尾......仍然会产生200.看起来很好,但是就SEO而言,这是一场灾难。 刚看了一下,我的CF9服务器不需要这个设置就可以让他们的处理程序无法工作。

    EDIT3
    Dana Kowalski的解决方案向公众显示详细的IIS错误,因此对于一个404扩展名(foo.xyz),屏幕将显示文件路径。 除了在本地运行模板以外,默认行为是不显示详细错误,并向访问者显示自定义错误页面。 CF错误模板应该适用于该设置。

    可能的解决方案
    作为调试此问题的一部分,我回到了ColdFusion 9,并且可能在调试单独的相关问题时发现了解决方案。


    在IIS管理器中,点击相关网站。 选择错误页面选项。 选择右侧的“编辑功能设置”链接。 检查是否选择了“详细错误”选项。

    如果您选择了另外两个中的任何一个,则有时IIS 7.x将接管并且不让ColdFusion处理它。

    链接地址: http://www.djcxy.com/p/74063.html

    上一篇: ColdFusion 10 Update 11 404 handler not firing

    下一篇: ColdFusion not handles HTTP OPTIONS requests for CFC