J'ai 2 serveurs Nginx servant des fichiers statiques provenant de 2 sous-domaines différents d'un domaine parent inconnu, disons <env>.foo.<domain>.com
et <env>.bar.<domain>.com
.Nginx permanent rediriger vers une URL différente pour certains sous-répertoires
Je veux configurer le serveur nginx pour <env>.foo.<domain>.com
de sorte que si l'URL a le sous-répertoire cat
ou dog
je veux rediriger vers <env>.bar.<domain>.com/<subdirectory>/<rest of url>
.
E.g.
http://dev.foo.mydomain1.com/cat/22 -> http://dev.bar.mydomain1.com/cat/22
http://dev.foo.mydomain1.com/dog/22 -> http://dev.bar.mydomain2.com/dog/22
http://dev.foo.mydomain2.com/dog/22 -> http://dev.bar.mydomain2.com/dog/22
http://dev.foo.mydomain1.com/bird/22 -> [no redirect]
Les <env>
et <domain>
parties du domaine sont dynamiques en fonction de l'environnement dans lequel les serveurs sont déployées, mais sont communs entre les 2 cases nginx.
je l'imagine être quelque chose comme:
server {
location ??? /(cat|dog) {
return 301 $scheme://???/$1$is_args$query_string;
}
}
Mais mes compétences nginx sont pas tout à fait ...
'dev.foo.mydomain2.com' et' dev.foo.mydomain1.com' sont gérées sur le même nginx ou différent nginx? font-ils également écouter dans les mêmes blocs de serveur ou différents blocs de serveur? –
même nginx, mais déployé dans différents environnements. Par exemple. staging.foo.domain1.com, demo.foo.domain2.com – harryg
Les sous-domaines 'foo' et' bar' se trouvent sur des boîtes nginx entièrement distinctes – harryg