2016-07-24 4 views
0

Я установил версию разработчика ColdFusion 2016 на Windows 8.1. Я скопировал папку MyCFProject моего проекта CF в каталог C:\ColdFusion2016\cfusion\wwwroot\CFIDE и открыл http://localhost/MyCFProject/index.cfm, где index.cfm находится в папке MyCFProject. Этот url работал нормально, и я могу успешно запустить приложение. Но я скопировал другую папку проекта 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

Вы уверены, что ваш веб-сайт является 'C: \ ColdFusion2016 \ cfusion \ wwwroot \ CFIDE'? Я бы ожидал вместо этого 'C: \ ColdFusion2016 \ cfusion \ wwwroot'. – Alex

+0

@Alex Спасибо за помощь. Да, webroot - это 'C: \ ColdFusion2016 \ cfusion \ wwwroot \ CFIDE' для обоих проектов, и оба каталога проектов MyCFProject и MySecondProject копируют этот веб-сайт. Первый работает, второй - нет. Более того, оба проекта работают на Windows 7, где webroot является 'C: \ ColdFusion11 \ cfusion \ wwwroot \ CFIDE' – nam

ответ

0

Я нашел ошибку, и она работает в настоящее время. В 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 вы получаете домашний адрес страницы как http:/localhost/CFIDE/MyProject; тогда как в ColdFusion 2016 при копировании папки проекта в C:\ColdFusion2016\cfusion\wwwroot\CFIDE вам все равно придется вручную создать виртуальный каталог в IIS и указать его на C:\ColdFusion2016\cfusion\wwwroot\CFIDE и что URL-адрес вашего сайта http://localhost/MyProject [без папки CFIDE в URL-адресе]. Возможно, это связано с параметрами установки, которые я, возможно, выбрал, когда я установил CF 2016.

Смежные вопросы