Benjamin Dos Santos

Dédier un sous domaine à ses ressources statiques avec Nginx

- AdminSys

Admettons que votre domaine principal “domain.tld” et un sous domaine “static.domain.tld” utilisé spécialement pour faire du domain sharding pointent tous les deux sur le même webroot : /home/www/domain.tld.

Vous souhaitez :

  • Empêcher l’accès à la même page web depuis les deux domaines (duplicate content)
  • Rediriger sur le domaine principal si une ressource non autorisée est appelée depuis le sous domaine.

Concrètement :

  • http://static.domain.tld/my-webpage/ redirigera vers http://domain.tld/my-webpage/,
  • http://static.domain.tld/image.png et http://domain.tld/image.png seront accessibles.
server {
    server_name static.domain.tld;
    root  /home/www/domain.tld;

    location / {
        rewrite ^(.*) http://domain.tld$1 permanent;
    }

    location ~* ^.+.(jpe?g|gif|css|png|js|ico|txt|srt|swf)$ {
        expires max;
    }
}

server {
    server_name domain.tld;
    root  /home/www/domain.tld;

    # Le reste du vhost ...
}