ColdFusion 2016文件未找到错误

问题描述:

我在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给我以下错误。这两个项目是从Windows 7中已安装的ColdFusion 11复制这两个项目正常工作有:ColdFusion 2016文件未找到错误

错误

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) 
+0

您确定您的webroot是'C:\ ColdFusion2016 \ cfusion \ wwwroot \ CFIDE'吗?我期望'C:\ ColdFusion2016 \ cfusion \ wwwroot'。 – Alex

+0

@Alex谢谢你的帮助。是的,两个项目的webroot都是'C:\ ColdFusion2016 \ cfusion \ wwwroot \ CFIDE',项目目录MyCFProject和MySecondProject都被复制到了这个webroot中。第一个工作,第二个不工作。而且,这两个项目都可以在Windows 7上运行,其中webroot是'C:\ ColdFusion11 \ cfusion \ wwwroot \ CFIDE' – nam

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

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