Bonjour à tous.

Je travaille sur un projet où l'url des médias ressemblent à ça :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
object/{ID}?assetprofile_pid={assetprofile_pid}&transformation={transformation}
l'asset assetprofile est un format de périphérique. exemple : smartphone, tablette, web
La transformation et un redimensionnement. exemple : icon, fullscreen, icon_xhdpi (Pour un périphérique en xhdpi)

Exemple :



Jusque là tous va bien.
Chaque élément est bien identifié.

Le problème c'est qu'on a voulu utiliser des urls plus "simple"

Code : Sélectionner tout - Visualiser dans une fenêtre à part
object/asset/{partie_1_du_ID}-{partie_2_du_ID}-{partie_2_du_assetprofile_pid}_{transformation}.{ext}
Ce qui donne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
object/asset/wzobj-image_538484484ff10-smartphone_icon_xhdpi.jpg
On utilise la RewriteRule suivante pour faire fonctionner l'url précédente avec le vrai système.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
RewriteRule ^object/asset/(.+)-(.+)-(.+)_(.+)(\.(.+)) object/$1:$2/data?assetprofile_pid=wzap:$3&transformation=$4&%1 [L]
Ce système fonctionnait jusqu'a ce que l'on utilise des transformations contenant des underscores (_)

En effet voici comment apache découpe l'url :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 object/asset/  wzobj - image_538484484ff10 - smartphone_icon _ xhdpi .jpg
^object/asset/ (.+)   - (.+)                - (.+)            _ (.+)  (\.(.+))
Comme faire pour qu'il découpe l'url ainsi ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
 object/asset/  wzobj - image_538484484ff10 - smartphone _ icon_xhdpi .jpg
^object/asset/ (.+)   - (.+)                - (.+)       _ (.+)       (\.(.+))
sachant que transformation peut avoir un underscores ou non.

Merci pour votre aide