.htaccess rewrite arquivo de imagem para script php

Aqui está o que eu tenho agora no meu .htaccess e isso deve funcionar no futuro:

 RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L] RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ index.php [NC,L] 

A questão é:

como posso fazer isso rewrite /tmp/some_image.png -> /image.php?file=some_image.png

Eu tentei fazer minha própria regra, mas sem sucesso.

Obrigado.

É / tmp um diretório acessível pelo seu servidor web? Espero que seja uma pasta / tmp separada e não a / tmp real do servidor, pois isso seria um risco de segurança.

De qualquer forma, se a imagem é um arquivo físico, então você precisa colocar isso após a sua reescrita para forçar o HTTPS e, antes das condições, verificar se é um arquivo ou diretório:

 RewriteRule ^/tmp/([^\.]+)\.png$ /image.php?file=$1.png [NC,L] 

Você pode verificar outras extensões também:

 RewriteRule ^/tmp/([^\.]+)\.(png|jpg|gif)$ /image.php?file=$1.$2 [NC,L] 

Ou se você não se importa (tudo é uma imagem na sua pasta tmp. Embora eu não recomendaria isso)

 RewriteRule ^/tmp/(.*)$ /image.php?file=$1 [NC,L] 

Se não for um arquivo físico, você pode colocar qualquer um deles no final de suas regras.

Resposta correta é:

 RewriteRule ^/?tmp/(.*\.png)$ captcha.php?file=$1 [L] 

thx vai para Humbedooh@freenode