web-dev-qa-db-fra.com

Comment rediriger vers un autre domaine en utilisant NGINX?

Comment puis-je rediriger mydomain.com et tout sous-domaine *.mydomain.com vers www.adifferentdomain.com à l'aide de NGINX? 

108
deb

nom_serveur supporte les correspondances de suffixe à l'aide de la syntaxe .mydomain.com:

server {
  server_name .mydomain.com;
  rewrite ^ http://www.adifferentdomain.com$request_uri? permanent;
}

ou sur toute version 0.9.1 ou supérieure:

server {
  server_name .mydomain.com;
  return 301 http://www.adifferentdomain.com$request_uri;
}
224
kolbyjack
server {
    server_name .mydomain.com;
    return 301 http://www.adifferentdomain.com$request_uri;
}

http://wiki.nginx.org/HttpRewriteModule#return

et

http://wiki.nginx.org/Pitfalls#Taxing_Rewrites

20

Pourquoi utiliser le module de réécriture si vous pouvez faire return? Techniquement parlant, return fait partie du module de réécriture car vous pouvez lire ici , mais cet extrait est plus facile à lire à l’amo.

server {
    server_name  .domain.com;

    return 302 $scheme://forwarded-domain.com;
}

Vous pouvez également lui donner une redirection 301.

11
Robin van Baalen

Cela devrait fonctionner via HTTPRewriteModule .

Exemple de réécriture de www.example.com à exemple.com:

server {    
    server_name www.example.com;    
    rewrite ^ http://example.com$request_uri? permanent; 
}
11
udo

Si vous souhaitez rediriger les demandes de "domain1.com" vers "domain2.com", vous pouvez créer un bloc de serveur ressemblant à ceci:

server {
    listen 80;
    server_name domain1.com;
    return 301 $scheme://domain2.com$request_uri;
}
7
ZanMax

Redirection temporaire

rewrite ^ http://www.RedirectToThisDomain.com$request_uri? redirect;

Redirection permanente

rewrite ^ http://www.RedirectToThisDomain.com$request_uri? permanent;

Dans le fichier de configuration nginx pour un site spécifique:

server {    
    server_name www.example.com;
    rewrite ^ http://www.RedictToThisDomain.com$request_uri? redirect;

}
0
Taimoor Changaiz