Comment puis-je rediriger mydomain.com
et tout sous-domaine *.mydomain.com
vers l' www.adifferentdomain.com
utilisation de NGINX?
136
nom_serveur prend en charge les correspondances de suffixes à l'aide de la syntaxe .mondomaine.com:
server {
server_name .mydomain.com;
rewrite ^ http://www.adifferentdomain.com$request_uri? permanent;
}
ou sur n'importe quelle version 0.9.1 ou supérieure:
server {
server_name .mydomain.com;
return 301 http://www.adifferentdomain.com$request_uri;
}
listen
directive utilise par défaut le port 80 lorsqu'elle n'est pas spécifiée. C'est en fait un peu plus compliqué que cela en général; voir la documentation de configuration de nginx pour plus de détails.?
à la fin?rewrite
etreturn 301 $scheme://www.adifferentdomain.com$request_uri;
?$request_uri
déjà la chaîne de requête, il n'est pas nécessaire de l'ajouter à nouveau. Lareturn 301
syntaxe est plus récente et il ne devrait y avoir aucune différence de comportement entre les deux méthodes, mais lorsque j'ai initialement répondu à cette question, de nombreuses distributions n'avaient pas la version requise, j'ai donc opté pour la syntaxe la plus sûre.http://wiki.nginx.org/HttpRewriteModule#return
et
http://wiki.nginx.org/Pitfalls#Taxing_Rewrites
la source
Pourquoi utiliser le module de réécriture si vous pouvez le faire
return
? Techniquement parlant,return
fait partie du module de réécriture comme vous pouvez le lire ici, mais cet extrait est plus facile à lire à mon humble avis.Vous pouvez également lui donner une redirection 301.
la source
return 302 $scheme://forwarded-domain.com$request_uri;
Cela devrait fonctionner via HTTPRewriteModule .
Exemple de réécriture de www.example.com vers example.com:
la source
server_name example.com www.example.com;
.Si vous souhaitez rediriger les demandes de "domain1.com" vers "domain2.com", vous pouvez créer un bloc de serveur qui ressemble à ceci:
la source
listen 443;
Redirection temporaire
Redirection permanente
Dans le fichier de configuration nginx pour un site spécifique:
la source
Vous pouvez simplement écrire une condition if dans le bloc server {}:
la source