Erro 500 nas imagens Wordpress - IIS7


Índice

Ao instalar o WordPress no IIS7 é possível configurar as urls amigáveis criando um arquivo “web.config” que deverá ser colocado na raiz do site com o seguinte conteúdo:

<?xml version="1.0"?>
<configuration>
 <system.webServer>
 <defaultDocument>
  <files>
    <remove value="index.php" />
    <add value="index.php" />
  </files>
 </defaultDocument>
<rewrite>
 <rules>
     <rule name="Main Rule" stopProcessing="true">
         <match url=".*" />
         <conditions logicalGrouping="MatchAll">
             <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
             <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
         </conditions>
         <action type="Rewrite" url="index.php/{R:0}" />
     </rule>
 </rules>
</rewrite>
</system.webServer>
</configuration>

Esse config fará a configuração do redirecionamento utilizando o “URL Redirect” do IIS7.

Depois, através do painel de administração do WordPress, clique na opção “Configurações” do menu da direita do painel e depois em “Links permanentes”.

Marque a opção “Estrutura personalizada” e cole o seguinte texto: ”/%category%/%postname%/”

Isso fará com que os seus posts sejam publicados com um modelo de url como: “/categoria/titulo” ao invés de algo como: “/2011/10/29/sample-post/”

Mas não é sobre esse redirecionamento para utilizar url’s amigáveis que gostaria de falar e sim, de um problema que estava acontecendo no meu servidor.

Notei que todas as imagens que eu fazia upload e que eu configurava para serem exibidas nos tamanhos pequeno, médio ou grande, apareciam normalmente no site. Porém a imagem no tamanho original, que é exibida quando o usuário clica na imagem para amplia-la, apresentava o seguinte erro:

HTTP Error 500.50 - URL Rewrite Module Error.  
The page cannot be displayed because an internal server error has occurred.</p>

Module RewriteModule  
Notification BeginRequest  
Handler StaticFile  
Error Code 0x80070005  

Então, o problema era o seguinte:
Ao fazer upload de uma imagem com o nome: “000.jpg”, são criados thumbs (miniaturas) de vários tamanhos, ex: “000-150x150.jpg”, “000-300x210.jpg” e “000-539x198.jpg”

Esses 3 arquivos eram carregados normalmente pelo browser porém ao acessar o arquivo original: “000.jpg”, ocorria o erro 500.

Eu comecei esse post falando do Rewriter para urls amigáveis porque inicialmente achei que o problema de erro 500 das imagens era gerado devido a um problema do Rewrite

Porém, o problema no meu caso era de permissão de acesso nos arquivos das imagens.

A correção é a seguinte:

Adicione na pasta “wp-content” permissão de acesso para o usuário “IIS_IUSRS” e faça a permissão ser replicada para todas as subpastas.

Atenção: Adicione também permissão para o usuário “IIS_IUSRS” na pasta “Windows\Temp”, porque o WordPress copia os arquivos de upload para essa pasta antes de copia-los para a pasta “wp-content”


Comentários