2011-11-04 22 views
6

Sto cercando di servire dinamicamente le immagini su pagine web con htaccess basato sul nome file nell'URL. Normalmente, utilizzo una struttura di directory nidificata in tutto il mio sito Web per offrire un URL dinamico basato sui nomi delle directory pseudo. In questo caso, vorrei solo per interrogare il nome del file (sans estensione) e servono a uno script PHP in modo che:url jpg dinamici con .htaccess

 
/images/foo.jpg 

diventa

 
/images/index.php?image=foo 

mentre lasciare che anche le immagini jpg esistenti in questo directory essere servita. Sono sicuro che è facile, dato che sono stato in grado di realizzare cose interessanti con Htaccess, ma non ancora questo. Grazie.

+0

Che cosa si intende per "mentre lasciare che anche le immagini jpg esistenti in questa directory essere servito"? Significa che foo.jpg non esiste e dovrebbe essere reindirizzato su index.php ma le immagini che esistono in/images/dovrebbero essere semplicemente servite come farebbero normalmente? –

+0

esattamente. Ho bisogno di creare jpg "fantasma" che si alimentino da php e lascino esistere gli originali come fanno. – Lucas

risposta

10

come questo:

RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^images/(.*)\.(jpg|png|jpeg|gif)$ /images/index.php?image=$1 [NC,L] 

nota: se avete bisogno l'estensione si utilizza $2

+0

funziona quando il file esiste, ma quando no, ottengo un 404 ... voglio essere in grado di creare jpg "fantasma" e anche servire i file originali senza doverli estrarre da php. – Lucas

+0

tutte le immagini vengono salvate nella cartella delle immagini? se vuoi creare un'immagine 'fantasma' è diverso. Ho aggiornato il mio biglietto. Index.php mostra le intestazioni corrette per le immagini? –

+0

no, alcuni sono e alcuni non lo sono ... voglio nutrire i nomi delle immagini seo-friendly per il mio filesystem che è alfanumerico (cioè DR382U1.jpg) e si trova altrove. – Lucas