Coldfusion:多个local.domains用于测试。为每个映射“/”根

时间:2012-02-09 15:53:56

标签: apache coldfusion coldfusion-9

我在Apache上运行CF9 Developer,在我的计算机上为多个域运行测试服务器,这些域的站点最终是远程托管的。一切正常,但我目前只能在其中使用“/”根映射。以下是我的本地域名:

  • local.domain1.com
  • local.domain2.com
  • 等...

这里有物理路径:

  • C:\ WWW \ domain1.com \
  • C:\ WWW \ domain2.com \

在CF Administrator中,我有以下Active ColdFusion映射:(逻辑路径:“/” - 目录路径:“C:\ www.domain1.com \”)。这适用于local.domain1.com。但是,我只能在CF Administrator中添加一个“/”逻辑路径。

换句话说,域1将成功加载cfinclude template =“/ anyrootfolder / anyfile.cfm”,因为它的根被映射。如果我尝试使用cfinclude template =“/ anyrootfolder / anyfile.cfm”,则域2,3等将失败,因为未映射“/”根。

有关如何在同一台服务器上映射多个“/”的任何建议吗?

修改

正如我在Al的回答中的评论中所提到的,我发现每当我在cfinclude上使用绝对路径时,所有域都从domain1的文件结构中获取。在CF管理员中,我删除了具有逻辑路径“/”和目录路径“C:\ www \ domain1.com \”的活动CF映射,这似乎可以解决问题。我不确定为什么会出现这种情况(可能是默认CF设置过程的一部分?)。无论如何,我没有看到任何错误,因为将其删除到任一测试站点,我的其他域现在按预期工作(可能是因为我已经在Apache的配置下设置了文档根?[请参阅RobG的回答。])谢谢大家!

3 个答案:

答案 0 :(得分:2)

我认为你根本不需要这种映射。在我的本地计算机上,我会将您的local.domainX.com条目放在您的Hosts文件(C:\ windows \ system32 \ drivers \ etc \ host)中,然后在Apache中为每个文件配置一个虚拟目录。

NameVirtualHost *:80

<VirtualHost *:80>
DocumentRoot "C:\www\domain1.com"
ServerName local.domain1.com
</VirtualHost>

如果您需要有关Apache配置的更多信息,请告诉我。

答案 1 :(得分:1)

您是否可以使用/的应用级映射?

在Application.cfc

<cfset THIS.mappings["/"]="C:\www\domain2.com\">

答案 2 :(得分:0)

我很久以前就死了,不仅在测试机器上处理多个站点,而且在同一个生产服务器上有多个站点。我最终的解决方案是为每个站点创建一个基本的三字符“前缀”映射。

因此,典型的cfincludes将是......

&lt; cfinclude template =“/ tqs / home.cfm”&gt;
&lt; cfinclude template =“/ bqo / home.cfm”&gt;

请注意,这也允许您引用可能保存在其他网站上的文件,图像和其他资源。

&lt; cfcontent file =“#expandpath(”/ bqo / images / pixel.gif“)#”type =“...