两个 ColdFusion 应用程序的冲突映射
Conflicting mapping for two ColdFusion Applications
我已经花了一天多的时间试图解决一个问题,即两个应用程序使用相同的相对路径但在不同的 "root" 下,这会导致其中一个应用程序访问错误的代码库应用程序。
这些是我对这两个应用程序的根源:
- \www\Clients\
- \www\Other\Clients\
结构
..www
....Clients
......Application.cfc
....Other
......Clients
........Application.cfc
在两个应用程序中都有引用相对路径的代码(例如,/clients/content/login.cfm)
我注意到 ColdFusion 管理员有一个映射部分,其中第一个映射有一个逻辑路径 /
映射到目录路径 D:/www/
。
这适用于第一个应用程序,因为 clients
文件夹直接位于 www
文件夹下,但是第二个应用程序无法正常工作,因为它也遵循相同的映射。因此,它不会在 Others
文件夹下搜索 /clients/content/login.cfm
,而是在 www
文件夹下再次搜索。
注意:两个应用程序有不同的Application.Name
所以它们确实是隔离的。
最大的危险信号是我们在旧的 ColdFusion 9 服务器上没有遇到这个问题,但是我们在较新的 ColdFusion 2016 服务器上遇到了这个问题。
通过 ColdFusion Administrator 筛选,我似乎找不到任何其他可能影响每个应用程序的基础根的设置,这些根可能优先于映射。
有没有我遗漏的设置? ColdFusion 9 和 ColdFusion 2016 之间的相对路径或映射是否发生了巨大变化?
Sifting through ColdFusion Administrator, I can't seem to find any
other settings which could affect the underlying root per Application
which could take precedence over the Mappings.
解决方案:使用特定于应用程序的映射。
<cfset this.mappings["/Clients"] = GetDirectoryFromPath(GetCurrentTemplatePath())>
Source
我已经花了一天多的时间试图解决一个问题,即两个应用程序使用相同的相对路径但在不同的 "root" 下,这会导致其中一个应用程序访问错误的代码库应用程序。
这些是我对这两个应用程序的根源:
- \www\Clients\
- \www\Other\Clients\
结构
..www
....Clients
......Application.cfc
....Other
......Clients
........Application.cfc
在两个应用程序中都有引用相对路径的代码(例如,/clients/content/login.cfm)
我注意到 ColdFusion 管理员有一个映射部分,其中第一个映射有一个逻辑路径 /
映射到目录路径 D:/www/
。
这适用于第一个应用程序,因为 clients
文件夹直接位于 www
文件夹下,但是第二个应用程序无法正常工作,因为它也遵循相同的映射。因此,它不会在 Others
文件夹下搜索 /clients/content/login.cfm
,而是在 www
文件夹下再次搜索。
注意:两个应用程序有不同的Application.Name
所以它们确实是隔离的。
最大的危险信号是我们在旧的 ColdFusion 9 服务器上没有遇到这个问题,但是我们在较新的 ColdFusion 2016 服务器上遇到了这个问题。
通过 ColdFusion Administrator 筛选,我似乎找不到任何其他可能影响每个应用程序的基础根的设置,这些根可能优先于映射。
有没有我遗漏的设置? ColdFusion 9 和 ColdFusion 2016 之间的相对路径或映射是否发生了巨大变化?
Sifting through ColdFusion Administrator, I can't seem to find any other settings which could affect the underlying root per Application which could take precedence over the Mappings.
解决方案:使用特定于应用程序的映射。
<cfset this.mappings["/Clients"] = GetDirectoryFromPath(GetCurrentTemplatePath())>
Source