Règles non fonctionnelles écrasent nginx Avec plusieurs paramètres

J'essaie de créer une règle écrasante avec nginx, qui écrase inexistant uri Images sur une page dynamique avec des paramètres, mais ne fonctionne pas.

/images/395.4b2a-c6b.large-red/car-image.jpg

à

/thumb.php?param1=4b2a6aa&param2=c6bc&id=395&size=large&color=red

Détails des paramètres de la requête:

395 . 4b2a        - c6b         . large - red   /blabla-image.jpg
id . 4 char hash - 3 char hash . size - color

Les couleurs sont limitées: rouge | bleu | vert

Les dimensions sont également limitées: petites | grande

Ma règle de réécriture non fonctionnelle:

location ~* \.(jpg)$ {
rewrite ^/images/([0-9-]+)\.[a-zA-Z0-9]{4}+\-[a-zA-Z0-9]{3}+\.(.*)\-(.*)/(.*)$ /thumb.php?id=$1&param1=$2&param3=$3&size=$4&color=$5 last;
}

Quel est le problème avec cette règle? Des idées?
Invité:

Agathe

Confirmation de:

Utilisant Nginx 1.4.2 Une erreur avec le message est apparue dans votre emplacement ...

nginx: [Emerg] directif rewrite ne finit pas avec un symbole ";" dans / chemin / à / conf

C'est parce que selon
http://nginx.org/en/docs/http/ ... write
...

Si l'expression régulière comprend «}» ou «;» Symboles, toutes les expressions doivent être incluses dans des citations simples ou doubles.

Correction de la conclusion de la condition de réécriture de citations.

Quel est le problème avec cette règle? Des idées?

Vous avez également manqué des supports de fixation.

Voici une solution de travail ...

rewrite "^/images/([0-9-]+)\.([a-zA-Z0-9]{4}+)\-([a-zA-Z0-9]{3}+)\.(.*)\-(.*)/(.*)$" /thumb.php?id=$1&param1=$2&param3=$3&size=$4&color=$5 last;

Votre décision peut être améliorée, par exemple ...

rewrite "^/images/([0-9-]+)\.([a-zA-Z0-9]{4}+)\-([a-zA-Z0-9]{3}+)\.([a-zA-Z]+)\-([a-zA-Z]+)/(.*)$" /thumb.php?id=$1&param1=$2&param3=$3&size=$4&color=$5 last;

Pour répondre aux questions, connectez-vous ou registre