IIS Server Side Includes не обрабатывает ColdFusion - PullRequest
3 голосов
/ 12 февраля 2010

Как использовать модуль «Включения на стороне сервера» в IIS для включения и обработки файла ColdFusion из файла .htm? В настоящее время я делаю что-то вроде этого в моем HTML-файле:

<!--#include virtual="navmenu.cfm"-->

Сюда входит необработанное содержимое файла navmenu. Мне нужно, чтобы он выполнял код ColdFusion и возвращал вывод этого процесса, а не включал raw код ColdFusion.

Этот же синтаксис работает правильно в Apache.

Ответы [ 3 ]

4 голосов
/ 12 февраля 2010

Вы просто пытаетесь избежать расширения CFM в URL?

Нельзя использовать SSI для включения файлов CFM в статический файл HTM. Вы можете настроить IIS для отправки файлов HTM на CF-сервер для анализа. Это позволит вам использовать CFINCLUDE внутри любого файла HTM.

Кроме того, вы можете использовать ajax из файла HTM и загружать проанализированный контент CFM в DIV.

2 голосов
/ 13 февраля 2010

Если вы не можете сделать так, чтобы верхняя страница была внешне cfm, вы подумали об использовании модуля перезаписи URL для IIS ? Таким образом, вы можете просто сделать определенные файлы cfms с некоторыми явными правилами перезаписи htm в cfm, но оставить все остальные необработанными. Кроме того, я думаю, что не может быть элегантного ответа, поскольку вы смешиваете статический и динамический контент.

На ваш комментарий об ajax - лично я не нахожу ничего утомительного в использовании ajax, но опять же jquery портит вам ...

 <div id='menuhere'></div>

 $.get('navmenu.cfm', function(data) {$('.menuhere').html(data); });

Выполняет то же самое, что и SSI плюс (при условии, что jQuery кэшируется), вы получаете более быструю загрузку главной страницы контента для загрузки.

0 голосов
/ 12 февраля 2010

Если вы используете страницу Coldfusion, то это:

 <cfinclude template="navmenu.cfm">

Если вы используете страницу другого типа, вам нужно поместить этот контент в IFRAME

<iframe src="navmenu.cfm"></iframe>

Вопрос в том, что если на сервере доступна технология Coldfusion, почему бы не изменить эту страницу на страницу .cfm и использовать приведенный выше пример?

...