Você está fazendo completamente errado (IMHO). Isso deve fazer o trabalho para você.
RewriteCond %{QUERY_STRING} ^w=([0-9]+)&h=([0-9]+)(&c=(true|false))
RewriteCond %{DOCUMENT_ROOT}/$1-$2-%1-%2-%4.jpg !-f
RewriteRule ^([a-z0-9\-]+)\.(jpg|jpeg|gif|png)$ thumbnail.php?file_name=$1&type=$2&w=%1&h=%2&c=%4 [NC]
1) Eu testei e funciona, mas posso estar perdendo algo que é aplicável apenas à sua configuração / sistema.
2) Isso pressupõe que as imagens em miniatura (por exemplo, this-is-the-image-name-gif-200-100-true.jpg
) estejam localizadas na pasta raiz do site (por exemplo, se o site estiver localizado /var/www/http
e, em seguida, verifique o seguinte arquivo: /var/www/http/this-is-the-image-name-gif-200-100-true.jpg
)
3) Se as imagens em miniatura estiverem localizadas na subpasta /thumbnails
, você precisará fazer algumas pequenas alterações nas linhas # 2 e # 3.
UPDATE
Eu vi sua pergunta original: link
De acordo com suas anotações, as imagens em miniatura geradas serão armazenadas junto com a pasta thumbnail.php in /media/thumbnails/
. Com base nessa informação, as regras podem ser reescritas da seguinte maneira:
RewriteCond %{QUERY_STRING} ^w=([0-9]+)&h=([0-9]+)&c=(true|false)
RewriteCond %{DOCUMENT_ROOT}/$1/$2-$3-%1-%2-%3.jpg !-f
RewriteRule ^(media/thumbnails)/([a-z0-9\-]+)\.(jpg|jpeg|gif|png)$ /$1/thumbnail.php?file_name=$2&type=$3&w=%1&h=%2&c=%3 [NC]
Essas regras precisam ser colocadas no arquivo .htaccess raiz do site.
Você ainda pode brincar para torná-lo independente do nome da pasta (acho que você pode precisar inserir outra RewriteCondition após a primeira para verificar o caminho relativo contra% {REQUEST_URI}), mas é muito difícil para mim com arquivos imaginários sem ter preparado a infraestrutura.