Mudei meu site de um servidor para outro e encontrei um problema com nomes de arquivos cirílicos. Alguns URLs cirílicos no wordpress estão bem e alguns estão quebrados. Costumava ficar bem no servidor anterior.
Veja como fica: na biblioteca de imagens do wordpress, vejo uma imagem quebrada com o URL: /wp-content/uploads/2013/11/олимпийские-новогодние-шары.jpg
(Versão codificada em URL: /wp-content/uploads/2013/11/%D0%BE%D0%BB%D0%B8%D0%BC%D0%BF%D0%B8%D0%B9%D1%81%D0%BA%D0%B8%D0%B5-%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE%D0%B4%D0%BD%D0%B8%D0%B5-%D1%88%D0%B0%D1%80%D1%8B.jpg
)
Eu navego até este URL e vejo o erro 404.
Então eu vou para o FTP, copio o nome do arquivo de lá ( олимпийские-новогодние-шары.jpg
) e navego para a URL /wp-content/uploads/2013/11/олимпийские-новогодние-шары.jpg
(versão codificada na URL: /wp-content/uploads/2013/11/%D0%BE%D0%BB%D0%B8%D0%BC%D0%BF%D0%B8%D0%B8%CC%86%D1%81%D0%BA%D0%B8%D0%B5-%D0%BD%D0%BE%D0%B2%D0%BE%D0%B3%D0%BE%D0%B4%D0%BD%D0%B8%D0%B5-%D1%88%D0%B0%D1%80%D1%8B.jpg
)
Agora funciona!
Mais uma vez:
олимпийские-новогодние-шары.jpg
- quebrado олимпийские-новогодние-шары.jpg
- funciona. Parece absolutamente o mesmo. Copie e cole o URL acima para verificar!
Se eu pegar uma URL com o nome de arquivo (copiado de FTP ou SSH) e substituir o nome de arquivo cirílico do teclado letra por letra, vai bem (200 OK) até eu alterar й
(copiado de FTP) para й
- digitado do teclado / copiado do wordpress.
Absolutamente me surpreende! A mesma carta parece funcionar em um caso e não no outro. E por que й
e não outra letra cirílica, como ш
ou д
? A substituição dessas letras (no nome do arquivo copiado do FTP) do teclado não produz o erro 404.
Se olharmos mais de perto, as versões codificadas por URL não são as mesmas:
%D0%BE%D0%BB%D0%B8%D0%BC%D0%BF%D0%B8%D0%B8%CC%86%...
%D0%BE%D0%BB%D0%B8%D0%BC%D0%BF%D0%B8%D0%B9%D1%81%...
Mas por que e como posso influenciá-lo?