当我尝试在我的登台服务器上加载文件图像时出现错误,它似乎是关于编码。 当我访问以下url时:
http://example.com/sites/default/files/2016-12/Articulaci%C3%B3n.jpg
Apache抛出一个404(未find)错误,该文件存在,名称为“Articulación.jpg”
但是,如果我尝试使用以下URL加载图像文件的作品:
http://example.com/sites/default/files/2016-12/Articulacio%CC%81n.jpg
在我的本地服务器(开发),这两个url的作品,我可以看到预期的图像。
我的开发服务器是MAMP的安装:
我的登台服务器是一个Centos服务器:
我认为这是一种url映射或编码回退行为的Apache,也许一个模块,扩展或服务器configuration下降/我的登台服务器上丢失。
这些URL有两种不同的UTF-8编码。 第一个是%CC%81 ,第二个是%C3%B3 。 你需要找出每个服务器上的URL不同的原因,并确保它们是相同的。
所以,你的开发服务器中的一些设置会导致它以不同的方式对URL进行编码。 这可能与PHP中使用的PHP版本差异或字符集/编码有关。
另一种可能是Mac OS对文件名不那么严格,并且可以使用不同的编码来匹配相同的文件。