ColdFusion 仅提供默认文档

ColdFusion only serves default document

在 IIS 中,我将以下文件列为默认文件

index.cfm 存在并在我导航到站点的根目录时显示。

我一尝试 https://localhost:1234/index.cfm,就收到 404.0 错误

您可以通过确保在您的系统上安装了 IIS 的两个必需组件来解决此错误。即:

  1. ISAPI 扩展
  2. IIS 元数据库和 IIS 6 配置兼容性。

首先,启动名为Windows 功能的程序。您将在控制面板 –> 程序和功能下找到 Windows 功能。

当 Windows 功能启动时,浏览 Internet 信息服务下的功能层次结构和 select 两个功能:ISAPI 扩展和 IIS 元数据库以及 IIS 6 配置兼容性。

ColdFusion 现在已准备好从 IIS 运行。但是,如果您在执行上述步骤之前已经安装了 ColdFusion,请继续执行“为 ColdFusion 配置 IIS”中提到的步骤:

为 ColdFusion 配置 IIS

如果您在安装了ColdFusion 8或9后按照上述步骤操作,您将需要运行ColdFusion自带的Web服务器配置工具来配置IIS7,以便所有.CFM文件都被映射处理来自 ColdFusion。

以下文字直接来自 ColdFusion 安装指南:

1.Start Web 服务器配置工具,方法是 selecting 开始 > 程序 > Adob​​e > ColdFusion 9 > Web 服务器配置工具。

  1. 单击“添加”。

  2. 在“服务器”弹出菜单中,select要配置的主机名和服务器或集群名称。在 ColdFusion 服务器配置中,服务器名称始终是 coldfusion。服务器配置不支持集群。

  3. 在 Web 服务器属性区域中,select IIS 并指定网站。对于 IIS,您通常指定全部。

  4. Select“为 ColdFusion 应用程序配置 Web 服务器”选项,然后单击“确定”。

  5. 将 CFIDE 和 cfdocs 目录从 cf_root/wwwroot 复制到您的 Web 服务器根目录。此外,将应用程序的 CFM 页面从 cf_root/wwwroot 复制到 Web 服务器根目录。在多服务器配置中,这些文件位于 jrun_root/servers/cfusion/cfusion-ear/cfusion-war 目录下。

ColdFusion 现在可以为 Web 上的页面提供服务;

以上内容来自一篇blog.

This answer 提到 IIS 8 仅响应默认文档列表中最后一个默认文档的问题。您是否将 IIS 10 与 ACF 2016 一起使用?

如果您现在收到此回复:

  • https://localhost:1234/index.cfm404.0
  • https://localhost:1234/default.cfm200

这是什么return?只有 default.cfm?

  • https://localhost:1234/

删除 default.cfm 的条目并重新启动 IIS。这对 index.cfm 有反应吗?如果您不打算将该文件用作默认文件,则无需如此定义它。

你能 post 你那个网站的 web.config 文件,只是相关部分,来确认这些值吗?是否可以在 UI 中显示全局默认值,但实际上并未继承特定站点的默认值?

<configuration>
<system.webServer>
    <defaultDocument enabled="true">
        <files>
            <add value="index.cfm" />
        </files>
    </defaultDocument>
</system.webServer>
</configuration>

这是解决问题的方法。

如果去IIS,有一个虚拟目录/jakarta

与虚拟目录关联的物理路径是ColdFusion2016\config\wsconfig

通过添加 D: 驱动器,一切正常。