Comment puis-je redirect ” http://domain.com “? à ” http://domain.com ” avec Nginx?
Quelle est la manière recommandée de le faire? Regex ou y a-t-il d’autres options?
L’extrait suivant le fait de manière générale, sans devoir coder en dur les noms d’hôtes (utile si la configuration de votre serveur gère les requêtes pour plusieurs domaines). Ajoutez ceci dans n’importe quelle définition de serveur dont vous avez besoin.
if ($http_host ~ "\.$" ){ rewrite ^(.*) $scheme://$host$1 permanent; }
Cela profite du fait (signalé par Igor Sysoev ) que $host
a le point $http_host
supprimé, tandis que $http_host
ne le fait pas; Nous pouvons donc faire correspondre le point dans $http_host
et utiliser automatiquement $host
pour la redirection.
Vous devrez utiliser Regex.
server { listen 80; server_name domain.com.WHATEVER, domain.com.WHATEVER-2, domain.com.WHATEVER-3; rewrite ^ $scheme://domain.com$request_uri? permanent; }
De: http://wiki.nginx.org/HttpRewriteModule
redirect – renvoie la redirection temporaire avec le code 302; il est utilisé si la ligne de substitution commence par http: // permanent – renvoie une redirection permanente avec le code 301