如何在IIS中使用Server Side Includes模块来包含和处理.htm文件中的ColdFusion文件?我目前在我的html文件中做了类似的事情:
<!--#include virtual="navmenu.cfm"-->
这包括navmenu文件的原始内容。我需要它来执行ColdFusion代码并返回该进程的输出,而不是包含原始 ColdFusion代码。
这种语法在Apache中正常工作。
答案 0 :(得分:4)
您是否只是想避免在网址中使用CFM扩展程序?
您无法使用SSI将CFM文件包含到静态HTM文件中。您可以配置IIS以将HTM文件发送到要解析的CF服务器。这将允许您在任何HTM文件中使用CFINCLUDE。
或者,您可以使用HTM文件中的ajax并将解析后的CFM内容加载到DIV中。
答案 1 :(得分:2)
如果您不能让首页看起来像是外面的cfm,您是否考虑过使用URL Rewrite Module for IIS?这样你就可以使某些文件cfms使用一些显式的htm来cfm重写规则但是让所有其他文件都不加工。除此之外,我认为可能没有一个优雅的答案,因为你混合了静态和动态内容。
关于你对ajax的评论 - 我个人认为使用ajax没有任何繁琐但是jquery再次破坏了你......
<div id='menuhere'></div>
$.get('navmenu.cfm', function(data) {$('.menuhere').html(data); });
完成与SSI plus相同的事情(假设缓存了jQuery),您可以更快地启动主要内容页面加载。
答案 2 :(得分:0)
如果您使用的是Coldfusion页面,那么它是:
<cfinclude template="navmenu.cfm">
如果您使用其他类型的页面,则需要将该内容放入IFRAME
<iframe src="navmenu.cfm"></iframe>
问题是,如果您在服务器上使用Coldfusion技术,为什么不将该页面更改为.cfm页面并使用上面的示例?