ColdFusion 仅提供默认文档

问题描述

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

enter image description here

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

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

解决方法

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

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

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

enter image description here

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

enter image description here

enter image description here

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

为 ColdFusion 配置 IIS

如果您在安装 ColdFusion 8 或 9 后执行上述步骤,则必须运行 ColdFusion 附带的 Web 服务器配置工具来配置 IIS7,以便所有 .CFM 文件都映射到由 ColdFusion 处理。

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

1.通过选择开始 > 程序 > Adob​​e > ColdFusion 9 > Web 服务器配置工具来启动 Web 服务器配置工具。

  1. 点击添加。

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

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

  4. 选择为 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 仅响应默认文档列表中的最后一个默认文档。您是否在 ACF 2016 中使用 IIS 10?

如果您现在收到此回复:

  • https://localhost:1234/index.cfm 404.0
  • https://localhost:1234/default.cfm 200

返回什么?只有default.cfm

  • https://localhost:1234/

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

您能否发布该网站的 web.config 文件(仅相关部分)以确认这些值?是否会在 UI 中显示全局默认值,但实际上并未为特定站点继承默认值?

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

这是解决问题的解决方案。

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

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

enter image description here

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