我们最近将一个网站移到了新服务器上,并且遇到了一个奇怪的问题,即一些上传的文件名中包含 unicode 字符的图像给我们一个 404 错误。
通过 ssh/FTP,我们可以看到文件肯定在那里。
例如:
http://sjofasting.no/project/adnoy
所有图像都不起作用:
代码:
<img class='image-display' title='' src='http://sjofasting.no/wp/wp-content/uploads/2012/03/ådnøy_1_2.jpg' width='685' height='484'/>
SSH:
-rw-r--r-- 1 xxxxxxxx xxxxxxxx 836813 8 月 3 日 16:12 ådnøy_1_2.jpg
同样奇怪的是,如果您导航到该目录,您甚至可以单击图像并且它可以工作:
http://sjofasting.no/wp/wp-content/uploads/2012/03/
单击“ådnøy_1_2.jpg”,它就可以工作了。
不知何故,wordpress正在生成
http://sjofasting.no/wp/wp-content/uploads/2012/03 /ådnøy_1_2.jpg
并从直接文件夹浏览中复制正在生成
http://sjofasting.no/wp/wp-content/uploads/2012/03/a%CC%8Adn%C3%B8y_1_2.jpg
到底是怎么回事??
编辑:
如果我从 wordpress 源中复制图像 url,我会得到:
http://sjofasting.no/wp/wp-content/uploads/2011/11/Bore-Strand-Hotellg%C3%A5rd-12.jpg
从 apache 浏览器复制时,我得到:
http://sjofasting.no/wp/wp-content/uploads/2011/11/Bore-Strand-Hotellga%cc%8ard-12.jpg
造成这种差异的原因是:%C3%A5 和 %cc%8
??