Essa semana mudei o blog 2x de servidores e venho acompanhando a carga de recursos que o WordPress está ocupando através dos logs do cpanel. Reparei que algumas imagens de alguns artigos estavam dando erro de permissão na leitura por causa de terem espaço no nome.

Você sabia que quando coloca imagens nos seus artigos no WordPress (e certamente em outros blogs também), o nome do arquivo se tiver espaços é substituido por traços, assim: imagem da minha casa.jpg vira imagem-da-minha-casa.jpg. Isso para seguir um padrão.

Não se deve ter nome de arquivos com espaços no seu servidor web.

E ainda mais, instalando o plugin AskApache Passowrd Protect no WordPress, ele altera o arquivo htaccess (responsável por fazer redirecionamentos e proteção de pastas) para bloquear arquivos com espaços no nome.

No meu caso eu alterei o nome dos arquivos das imagens e também nos artigos que faziam referência para elas. Usei o seguinte script Unix:

Crie um arquivo ts.sh com o seguinte conteúdo:

mv "$1" `echo $1 | tr " " "-"`

dê as permissões de execução e execute o script com o comando find:

chmod 777 ts.sh
find . -name "*.png" -exec ./ts.sh {} \;

Neste caso procurei por arquivos com extensão png mas você pode alterar para o que quiser.