2011-11-04 9 views
6

Szukam dynamicznie wyświetlać obrazy na stronach internetowych za pomocą htaccess na podstawie nazwy pliku w adresie URL. Zwykle używam zagnieżdżonej struktury katalogów w całej mojej witrynie do obsługi dynamicznego adresu URL opartego na nazwach pseudo katalogów. W tym przypadku, chciałbym tylko do kwerendy nazwę pliku (rozszerzenie sans) i służyć do skryptu PHP, tak aby:dynamiczne adresy URL w formacie jpg z .htaccess

 
/images/foo.jpg 

staje

 
/images/index.php?image=foo 

jednocześnie pozwolić istniejących obrazów jpg w tym katalog zostanie obsłużony. Jestem pewien, że jest to łatwe, ponieważ udało mi się osiągnąć kilka naprawdę fajnych rzeczy dzięki htaccess, ale po prostu nie ten jeszcze. Dzięki.

+0

Co masz na myśli przez „jednocześnie pozwolić istniejące jpg w katalogu być lepszy”? Czy to oznacza, że ​​foo.jpg nie istnieje i powinno zostać przekierowane do index.php, ale obrazy, które istnieją w/images/powinny być obsłużone tak jak zwykle? Dokładnie –

+0

. Muszę stworzyć "phantomowe" jpgs, które zostaną nakarmione przez php i niech oryginały istnieją tak jak oni. – Lucas

Odpowiedz

10

tak:

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

uwaga: jeśli potrzebujesz przedłużenia korzystania $2

+0

to działa, gdy plik istnieje, ale gdy nie, otrzymuję 404 ... chcę móc tworzyć "phantom" jpgs, a także służyć oryginalne pliki bez konieczności pobierania ich z php. – Lucas

+0

wszystkie obrazy są zapisywane w folderze obrazów? jeśli chcesz stworzyć "fantomowy" obraz, to jest inny. Zaktualizowałem swój bilet. Czy index.php wyświetla prawidłowe nagłówki obrazów? –

+0

nie, niektóre są, a niektóre nie ... Chcę nadać seo-przyjazne nazwy obrazów dla mojego systemu plików, który jest alfanumeryczny (tj. DR382U1.jpg) i znajduje się gdzie indziej. – Lucas

Powiązane problemy