Ik zit met een volgend scenario:
• Op de server bestaat een bestand /pad/naar/afbeelding.png.
• Op de server bestaat ook een bestand /pad/naar/.afbeelding.png/small.png
• Op de server bestaat niet een bestand /pad/naar/.afbeelding.png/square.png
Ik heb het volgende voor elkaar:
• Request naar /pad/naar/afbeelding.png verwijst naar /pad/naar/afbeelding.png
• Request naar /pad/naar/afbeelding.small.png verwijst naar /pad/naar/.afbeelding.png/small.png
Nu wil ik óók bereiken dat
• Request naar /pad/naar/afbeelding.square.png verwijst naar ietsanders.php
Het idee is dat alle "varianten" automatisch worden aangemaakt. Als de variant (bijvoorbeeld "square") nog niet bestaat, wordt ietsanders.php aangeroepen, die volgens vaste regels het bestand square.png aanmaakt.
De .htaccess is als volgt:
Wanneer het bestand niet bestaat, krijg ik nu (logisch) een Internal Server Error (#500) terug. Een extra regel erachter plaatsen gaat natuurlijk ook niet lukken. Ik heb gekeken of de -F flag werkt, maar dat mocht niet baten:
• Op de server bestaat een bestand /pad/naar/afbeelding.png.
• Op de server bestaat ook een bestand /pad/naar/.afbeelding.png/small.png
• Op de server bestaat niet een bestand /pad/naar/.afbeelding.png/square.png
Ik heb het volgende voor elkaar:
• Request naar /pad/naar/afbeelding.png verwijst naar /pad/naar/afbeelding.png
• Request naar /pad/naar/afbeelding.small.png verwijst naar /pad/naar/.afbeelding.png/small.png
Nu wil ik óók bereiken dat
• Request naar /pad/naar/afbeelding.square.png verwijst naar ietsanders.php
Het idee is dat alle "varianten" automatisch worden aangemaakt. Als de variant (bijvoorbeeld "square") nog niet bestaat, wordt ietsanders.php aangeroepen, die volgens vaste regels het bestand square.png aanmaakt.
De .htaccess is als volgt:
code:
1
2
3
4
5
| RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l RewriteRule ^.*$ - [NC,L] RewriteRule ^assets/img(.*)/([a-zA-Z0-9-_\.]*)\.(.*)\.([a-z]{2,4})$ /assets/img$1/.$2.$4/$3.$4 [L] |
Wanneer het bestand niet bestaat, krijg ik nu (logisch) een Internal Server Error (#500) terug. Een extra regel erachter plaatsen gaat natuurlijk ook niet lukken. Ik heb gekeken of de -F flag werkt, maar dat mocht niet baten:
code:
Kan ik dit oplossen?
1
2
| RewriteCond %{REQUEST_FILENAME} !-F RewriteRule ^.*$ assets/img/image.php[L] |