ColdFusion-Web服务器-目录服务-IIS

ColdFusion-Web服务器-目录服务-IIS,iis,coldfusion,iis-8,coldfusion-2016,Iis,Coldfusion,Iis 8,Coldfusion 2016,不确定这是在根目录中的ColdFusion Application.cfm中控制还是通过IIS Web服务器控制 但我正试图使用相同的ColdFusion代码在1个根网站上设置多个子网站,然后通过嗅探URL ie:和使用cgi.http_主机来设置不同的数据源 因此,我可以使用相同的代码和不同的URL,例如: www.root.com www.root1.com www.root2.com 但是我每次都需要在Web服务器中设置一个单独的站点(这很好,也很容易

不确定这是在根目录中的ColdFusion Application.cfm中控制还是通过IIS Web服务器控制

但我正试图使用相同的ColdFusion代码在1个根网站上设置多个子网站,然后通过嗅探URL ie:和使用cgi.http_主机来设置不同的数据源

因此,我可以使用相同的代码和不同的URL,例如:

      www.root.com
      www.root1.com
      www.root2.com
但是我每次都需要在Web服务器中设置一个单独的站点(这很好,也很容易理解)

但我想在同一根网站上,但在一个子目录上运行相同的代码。 所以我想跑:

      www.root.com/test
      www.root.com/test2
      www.root.com/test3
      www.root.com/newsignup
所有这些子目录都可以运行相同的代码,而无需在IIS中设置多个网站


使用ColdFusion很容易做到这一点吗?还是全部都是IIS映射?

您的代码位于以下位置

E:\path\to\wwwroot
在IIS中,您有一个站点设置,该文件夹作为web根目录。该站点有一个主域

www.someDomain.com
然后,您希望在不同的域下提供相同的代码:

  • myCFsite.someExistingSite.com
  • myCFsite.anotheristingsite.com
在IIS中,您必须将这些设置为站点的域别名。在IIS管理器中查找“绑定”。您还可以通过编辑将在web根目录中创建的
website.config
文件来完成此操作

如果需要为每个域加载不同的设置,则必须更新应用程序。我通常设置数据库表,将这些域的列表映射到它们的设置。这样,您就可以通过
cgi.http\u host
查找并缓存设置

<cfif !structKeyExists(application.settings, cgi.http_host)>
    <!--- Look up settings, then cache them here. --->
    <cfset application.settings[cgi.http_host] = ...>
</cfif>


现在,您可以在同一代码库中引用每个域的设置。

您的代码位于

E:\path\to\wwwroot
在IIS中,您有一个站点设置,该文件夹作为web根目录。该站点有一个主域

www.someDomain.com
然后,您希望在不同的域下提供相同的代码:

  • myCFsite.someExistingSite.com
  • myCFsite.anotheristingsite.com
在IIS中,您必须将这些设置为站点的域别名。在IIS管理器中查找“绑定”。您还可以通过编辑将在web根目录中创建的
website.config
文件来完成此操作

如果需要为每个域加载不同的设置,则必须更新应用程序。我通常设置数据库表,将这些域的列表映射到它们的设置。这样,您就可以通过
cgi.http\u host
查找并缓存设置

<cfif !structKeyExists(application.settings, cgi.http_host)>
    <!--- Look up settings, then cache them here. --->
    <cfset application.settings[cgi.http_host] = ...>
</cfif>


现在,您可以在同一代码库中引用每个域的设置。

它是同一个域,但是子目录。所以是的www.somedomain.com是主代码。但同样的代码在。。www.somedomain/bob www.somedomain/Carl www.somedomain.com/fred然后在IIS中使用URL重写。因此,不要创建这些子目录,而是为每个指向根目录的子目录添加一个重写规则,并传递一个参数,您可以在CF代码中检查该参数,以查看最初请求的路径。它是相同的域,但是子目录。所以是的www.somedomain.com是主代码。但同样的代码在。。www.somedomain/bob www.somedomain/Carl www.somedomain.com/fred然后在IIS中使用URL重写。因此,不要创建这些子目录,而是为指向根目录的每个子目录添加一个重写规则,并传递一个参数,您可以在CF代码中检查该参数,以查看最初请求的路径。有关数据源依赖于cgi变量的部分可以在您的应用程序文件中轻松完成。让每个站点运行完全相同的代码听起来很棘手,但您似乎已经解决了这一部分。让数据源依赖于cgi变量的部分可以在您的应用程序文件中轻松完成。让每个站点运行完全相同的代码听起来很棘手,但你似乎已经解决了这一部分。