Je suis en train de mettre en place un simple hôte virtuel pour émuler quelques réponses spécifiques qui, en production, proviendront d'une seule URL. À titre d'exemple, l'URL de production pourrait ressembler à ceci :
http://domain.com/getdeviceinfo/info.bin
Il renvoie en fait le texte dans .ini
format. J'ai mis en place plusieurs fichiers de test dans mon webroot à l'adresse suivante /info/(legacy|new)/(daily|monthly)/device.htm
qui testera plusieurs réponses différentes et j'aimerais mettre en place une redirection afin de pouvoir rediriger la même url vers la ressource appropriée. L'URL de test pourrait ressembler à quelque chose comme ceci :
http://devdomain.com/devicename/legacy/monthly/getdeviceinfo/info.bin
Ce que j'aimerais faire, c'est extraire les valeurs appropriées et servir (dans cet exemple)
/info/legacy/monthly/devicename.htm
Ce que Chrome, au moins, fait à la place, c'est essayer de télécharger quelque chose appelé info.bin
.
Voici mon location
bloc :
location ~ ^/(?<device>[^/]+)/(?<software>[^/]+)/(?<plan>[^/]+)/getdeviceinfo/info.bin$ {
alias /opt/dev/hughesnet-modem-simulator/info/$software/$plan;
try_files $uri $uri $device.htm
}
J'ai également essayé de définir le alias
à la valeur /opt/dev/hughesnet-modem-simulator/info/$software/$device.htm
à la place de try_files
. Je sais que je me suis trompé dans la syntaxe, mais je ne sais pas où je me suis trompé.
Tout commentaire serait très apprécié.
Merci.
UPDATE
Mon actuel location
bloc :
location ~ ^/(?<device>[^/]+)/(?<software>[^/]+)/(?<plan>[^/]+)/getdeviceinfo/info.bin$ {
types {}
default_type text/plain;
alias /opt/dev/project-root/info/$software/$plan/$device.htm;
}