Afbeelding hoogte en breedte via URL adres htaccess

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Sander D

Sander D

11/02/2014 15:30:52
Quote Anchor link
Ik heb in .htaccess een RewriteRule die een URL adres herkent en deze doorstuurt naar een ander URL adres. Iets waarvoor een RewriteRule bedoelt is.

Ik ben nu bezig met een project waarbij vele verschillende afmetingen voor afbeeldingen worden gebruikt. Nu wil ik dit opvangen met .htaccess en dat lukt:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
RewriteRule ^img/([^/]+)_([^x]+)x([^/]+)/?.(jpg|gif|png)$ /images/thumbnail.php?width=$2&height=$3&img=$1.$4


Wat hier gebeurt:

domein.nl/img/afbeeldingnaam_300x300.jpg wordt herleidt naar /images/thumbnail.php met een aantal variabelen. In dit geval is dit width=300, height=300, img=afbeeldingnaam. Dit werkt naar behoren.

Waar ik nu wel tegen aanloop is dat zodra een afbeelding een underscore in de naam heeft, bijvoorbeeld: afbeelding_naam, dan pakt hij hem niet goed meer. Wat er dan gebeurt is:

width=naam_300, height=300, img=afbeelding

Weet iemand hoe ik de RewriteRule zo kan aanpassen dat hij kijkt naar de laatste _ en dan pas de width en height gebruikt en alles wat ervoor staat herkent als de naam, ongeacht of er een underscore in staat?

Alvast bedankt.
 
PHP hulp

PHP hulp

02/12/2020 16:40:45
 
Frank Nietbelangrijk

Frank Nietbelangrijk

11/02/2014 17:24:24
Quote Anchor link
Waarom niet alle jpg, gif en png bestanden met hun ongwijzigde naam doorsturen naar thumbnail.php en in php de bestandsnaam uit elkaar rafelen?
 
Sander D

Sander D

12/02/2014 10:25:09
Quote Anchor link
Dat is ook een optie, maar waarom niet direct goed doen via htaccess? :)
 
Frank Nietbelangrijk

Frank Nietbelangrijk

15/02/2014 00:37:36
Quote Anchor link
Nu zeg je dat het uit elkaar rafelen van strings/urls beter is om te doen via een .htaccess bestand.

Ik ben het daar niet mee eens. Een .htaccess bestand is bedoeld om voor een (gedeelte) van een website extra of afwijkende instellingen aan Apache door te geven. Het is zeker geen programmeertaal. Dus waarom niet gelijk goed doen met bijvoorbeeld PHP?
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.