目前,我很快将负责将一些网站从 Windows 迁移到 Linux。到目前为止,我唯一真正遇到的问题是 Windows(即将成为 Linux)网站所有者以混合大小写形式构建了他们的超链接(例如,他们链接到一个全大写的文件,但文件本身却以小写形式命名)。虽然在 Windows 中是允许的,它可以解决不区分大小写的问题,但 Linux 会对此很挑剔并抛出错误。
是否有任何工具可以将所有文件重命名为另一种大小写,并修复所有链接,以便它们正确链接到现在的小写文件?到目前为止还没有看到任何东西,但我确信其他管理员已经遇到过这种情况。希望该工具适用于将要进行迁移的桌面 Windows(Windows 7)环境。谢谢!
答案1
如果你使用 Apache看起来像这mod_spelling如果只是一些遗留问题,模块可能会解决这个问题。但是如果数量很大,我会像你一样考虑修复它。
如果您找不到任何链接,我建议您查看 perl 中的 HTML::TreeBuilder 以查找所有 href(也不要忘记 img 标签)并将其全部更改为小写。
对于我将使用的文件,zsh
例如:
for file in **/*; do mv "$file" "${file:l}"; done
使用 GNU find 可能也有一个好方法可以做到这一点。
答案2
让他们修复它。除此之外的任何解决方案都会导致日后出现问题。告诉他们这对 SEO 不利。如果你不能,你可能需要看看类似http://www.brain-dump.org/projects/ciopfs/