【问题标题】:ColdFusion 2016 file not found errorColdFusion 2016 文件未找到错误
【发布时间】:2016-07-24 00:16:28
【问题描述】:

我在 Windows 8.1 上安装了 ColdFusion 2016 开发者版。我将我的 CF 项目文件夹 MyCFProject 复制到 C:\ColdFusion2016\cfusion\wwwroot\CFIDE 目录并打开 http://localhost/MyCFProject/index.cfm 其中 index.cfm 在 MyCFProject 文件夹中。该网址运行良好,我可以成功运行该应用程序。但是我复制了另一个项目文件夹MySecondProject,它也有一个 index.cfm 文件并打开了 url http://localhost/MySecondProject/index.cfm,这给了我以下错误。这两个项目都是从安装了 ColdFusion 11 的 Windows 7 复制的,并且两个项目在那里都可以正常工作:

错误

File not found: /MySecondProject/Index.cfm
Browser     Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
Remote Address      ::1
Referrer    
Date/Time   23-Jul-16 08:00 PM
Stack Trace


coldfusion.runtime.TemplateNotFoundException: File not found: /MySecondProject/Index.cfm
    at coldfusion.filter.PathFilter.invoke(PathFilter.java:145)
    at coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:30)
    at coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:94)
    at coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:28)
    at coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
    at coldfusion.filter.NoCacheFilter.invoke(NoCacheFilter.java:60)
    at coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
    at coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
    at coldfusion.filter.CachingFilter.invoke(CachingFilter.java:62)
    at coldfusion.CfmServlet.service(CfmServlet.java:219)
    at coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:89)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
    at coldfusion.monitor.event.MonitoringServletFilter.doFilter(MonitoringServletFilter.java:42)
    at coldfusion.bootstrap.BootstrapFilter.doFilter(BootstrapFilter.java:46)

【问题讨论】:

  • 你确定你的webroot是C:\ColdFusion2016\cfusion\wwwroot\CFIDE吗?我希望 C:\ColdFusion2016\cfusion\wwwroot 代替。
  • @Alex 感谢您的帮助。是的,这两个项目的 webroot 都是 C:\ColdFusion2016\cfusion\wwwroot\CFIDE,并且项目目录 MyCFProject 和 MySecondProject 都复制到了这个 webroot。第一个有效,第二个无效。此外,这两个项目都适用于 Windows 7,其中 webroot 为 C:\ColdFusion11\cfusion\wwwroot\CFIDE

标签: coldfusion coldfusion-2016


【解决方案1】:

我发现了错误,它现在可以工作了。在ColdFusion 11中,当我将项目目录复制到路径C:\ColdFusion11\cfusion\wwwroot\CFIDE时,自动出现在IIS7.5中(可能是CF安装设置了这个路径到IIS)。但是,在 ColdFusion 2016 中,您似乎必须自己创建一个虚拟目录并将其指向您的应用程序的物理路径(在我的例子中,即上述路径)。另一种可能性是,在 ColdFusion 2016 安装期间,有一个选项可以将 C:\ColdFusion2016\cfusion\wwwroot\CFIDE 指向 IIS8,但我要么忽略它,要么选择退出该安装选项。

观察:此外,我注意到在 CF 11 中,当您将项目目录复制到 C:\ColdFusion11\cfusion\wwwroot\CFIDE 时,它会连接到 IIS,当您从 IIS 浏览站点时,您会获得主页 URL如http:/localhost/CFIDE/MyProject;而在 ColdFusion 2016 中,当您将项目文件夹复制到 C:\ColdFusion2016\cfusion\wwwroot\CFIDE 时,您仍然必须在 IIS 中手动创建一个虚拟目录并将其指向 C:\ColdFusion2016\cfusion\wwwroot\CFIDE,并且您的站点的 URL 是 http://localhost/MyProject [没有 CFIDE 文件夹在网址]。这可能与我在安装 CF 2016 时选择的安装选项有关。

【讨论】:

    猜你喜欢
    • 2011-08-29
    • 1970-01-01
    • 2021-04-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-25
    • 2016-06-05
    相关资源
    最近更新 更多