Comment puis-je rediriger mydomain.com
et tout sous-domaine *.mydomain.com
vers www.adifferentdomain.com
à l'aide de NGINX?
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;
}
server {
server_name .mydomain.com;
return 301 http://www.adifferentdomain.com$request_uri;
}
http://wiki.nginx.org/HttpRewriteModule#return
et
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.
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;
}
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;
}
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;
}