Nginx emplacement, d'alias, de réécriture, de la racine
Je suis portion /foo/bar/par voie de directives proxypass et souhaitez continuer à le faire. Cependant, j'aimerais servir /foo/bar/baz.swf de manière statique de dire /var/www/mystatic/baz.swf et ainsi de suite.
J'espérais que je pourrais faire quelque chose comme
location /foo/bar/(.*) {
alias /var/www/mystatic/;
}
location /{
proxy_pass ....;
...
}
Et /foo/bar/aller sur le serveur d'applications alors que /foo/bar/(.*) serait servi de manière statique.
les docs disent que je ne peux pas faire cela et ont besoin d'utiliser une combinaison de racine et de réécriture: http://wiki.nginx.org/NginxHttpCoreModule
Ajouter à la complication, je voudrais continuer à utiliser l'ancien, non pris en charge 0.5.33. Toute aide serait grandement appréciée.
Edit: aller de l'avant, quelqu'un a suggéré d'utiliser la racine au lieu de alias. Mais, il ne semble pas que je puisse utiliser toutes les regex sur l'emplacement de la directive avec ma version? Ici, /foo/bar/baz.swf est servi par le proxy_pass! J'ai le fichier dans /var/www/foo/bar/baz.swf.
location /foo/bar/(.+) {
root /var/www/;
}
Pourquoi ne pas simplement mettre
location /foo/bar/(.+)
?OriginalL'auteur Skylar Saveland | 2009-11-29
Vous devez vous connecter pour publier un commentaire.
Vous pouvez le faire; mais il est légèrement ésotérique. Essayez d'utiliser:
Ces options sont documentées sur le Wiki http://wiki.nginx.org/NginxHttpCoreModule#location
Fonctionne bien, merci!
OriginalL'auteur Matt Saunders
effacer effacer toutes les options /foo/bar/baz.swf. Vous pouvez donc les laisser
où c'est que les options de proxy ne sera pas utilisé.
OriginalL'auteur Martin Redmond
Vous pouvez:
ensuite utiliser cette config:
OriginalL'auteur