【发布时间】:2015-10-25 03:07:55
【问题描述】:
我已将 WordPress 网站从 Hostgator 共享主机迁移到 Ubuntu Digital Ocean LAMP 堆栈。
当我导出包含特殊字符的图像文件时,问题就开始了,例如文件
operários_tarsila-1024x640.jpg.
当 WordPress 尝试访问该文件时,它会显示错误。我找到了原因:
我可以通过 Inspect Element 看到 Wordpress 尝试调用:http://mywebsite.com/wp-content/uploads/2013/02/oper%C3%A1rios_tarsila-1024x640.jpg 并且服务器返回 404 错误。
但是,如果我在浏览器中输入此 URL:http://mywebsite.com/wp-content/uploads/2013/02/opera%CC%81rios_tarsila-1024x640.jpg 它可以工作并显示图像。
因此,从 %C3%A1(á 字符)到 a+%CC%81(结合重音)的 á 编码之间的差异似乎是导致 WordPress 不显示我的图像的原因。
所以现在我的服务器中有数千个重音图像文件名,结构为 character+ combining accent,而 WordPress 调用结构为 accented character 的图像文件名。
有没有办法 bash 用比较表重命名它们?或者是一种让 Apache 了解这些差异并在发生这种混淆时指向正确文件的方法?
【问题讨论】: