RewriteCond bekijkt of na RewriteRule bestand bestaat

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • mithras
  • Registratie: Maart 2003
  • Niet online
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:
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:
1
2
RewriteCond %{REQUEST_FILENAME} !-F
RewriteRule ^.*$ assets/img/image.php[L]
Kan ik dit oplossen?