gpt4 book ai didi

apache - 使 Ubuntu 上的 ColdFusion 不区分大小写

转载 作者:太空宇宙 更新时间:2023-11-03 16:49:00 24 4
gpt4 key购买 nike

我已经在 Ubuntu 12.04 机器上安装了 apache2 和 ColdFusion 9。我已经在 Apache 中使用 CheckSpelling 模块来禁用区分大小写的 URL 和 Apache 负责的其他路径。

现在,请记住,我正在处理大约 4GB 的遗留代码(大约 6 年的值(value))并且很少符合惯例。在我之前的编码人员并不关心大小写敏感,因为应用程序是如何托管在 Windows Box 上的。在大多数情况下,ColdFusion 的行为是 <cfinclude>CreateObject , 但看起来像 <cfinvoke> (在代码库中经常使用)仍然区分大小写。

现在,我尝试了将代码移动到 vfat 分区的方法,但我遇到的是一大堆文件名的编码问题(我们与外国公司打交道,得到了很多特殊字符)。删除和/或重命名文件会很麻烦,因为大多数文件也在 MySQL 数据库中引用,并且也必须在那里进行修改。所以重新编码有点像噩梦。

所以,我很好奇 ColdFusion 在 Linux 上运行时是否有任何特殊标志不区分大小写,或者是否有另一种方法可以使这一切结合在一起?

编辑

对不起,我错了。 cfinvoke似乎工作正常。我正在窒息 cfobject

最佳答案

我做了一些研究,这就是我想出的......

Creating Custom Tags (help.adobe.com)

Note: Although tag names in ColdFusion pages are not case sensitive, custom tag filenames must be lowercase on UNIX.

cfinvoke Documentation (help.adobe.com)

On UNIX systems, ColdFusion searches first for a file with a name that matches the specified component name, but is all lower case. If it does not find the file, it looks for a file name that matches the component name exactly, with the identical character casing.

<cfinvoke>是标准标签,标签本身不区分大小写。但是,这听起来像是 <cfinvoke> 的所有组件参数需要有一个小写的文件名,以便使用不规则大小写的调用始终如一地成功。我知道你说重构很困难,但这就是我想出的:

如果您有一个专门用于保存组件的文件夹,那么在该文件夹中运行一个 shell 脚本将它们全部重命名为小写字母是微不足道的(如果您不想被询问是否每次都确定):

for filename in *.cfc; do
lowercase =`echo $filename | tr '[:upper:]' '[:lower:]'`
mv -i $filename $lowercase
done

如果您没有将所有组件都放在同一个文件夹中,请从顶级目录中尝试。

如果你能试一试,请告诉我!

关于apache - 使 Ubuntu 上的 ColdFusion 不区分大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10522005/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com