我在Apache上运行CF9 Developer,在我的计算机上为多个域运行测试服务器,这些域的站点最终是远程托管的。一切正常,但我目前只能在其中使用“/”根映射。以下是我的本地域名:
这里有物理路径:
在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的回答。])谢谢大家!
答案 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 =“...