.htaccess riscrive il file immagine sullo script php

Ecco cosa ho per ora nel mio .htaccess e questo dovrebbe funzionare in 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] 

La domanda è:

come posso fare questa riscrittura /tmp/some_image.png -> /image.php?file=some_image.png

Ho provato a fare la mia regola, ma senza successo.

Grazie.

/ Tmp è una directory accessibile dal tuo web-server? Spero che sia una cartella / tmp separata e non l’effettiva / tmp del server in quanto sarebbe un rischio per la sicurezza.

Ad ogni modo se l’immagine è un file fisico, devi metterlo dopo la riscrittura per forzare HTTPS e prima che le condizioni controllino se si tratta di un file o di una directory:

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

Puoi anche controllare altre estensioni:

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

O se non ti interessa (tutto è un’immagine nella tua cartella tmp. Anche se non lo consiglierei)

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

Se non è un file fisico puoi metterne uno alla fine delle tue regole.

La risposta corretta è:

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

grazie a [email protected]