Redirection vers l'URL du sous-domaine tout en préservant l'URL d'origine et la diffusion des files à partir de l'URL du sous-domaine

Je veux aller à www.example.com et être redirigé vers le sous-domaine.example.com/homepage sans que l'URL ne change de www.example.com.

La capture étant que mon css et js est hébergé au sous-domaine.example.com. Je suis en difficulté avec la dernière partie. Jusqu'à présent, j'ai ceci:

http { upstream meteor_server { ip_hash; server 192.168.0.24:88; } server { server_name www.example.com; location / { proxy_pass http://meteor_server/homepage/; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } server { server_name subdomain.example.com; location / { proxy_pass http://meteor_server/; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } 

Cela me permet d'accéder au sous-domaine juste quand je vais à www.example.com. J'ai 404 sur chacun des files css et js qu'il tente de download. Je sais qu'il existe de meilleures façons de faire quelque chose comme ça, mais cela semble être le plus propre dans notre cas d'utilisation. Même si je suis ouvert à toutes les idées, une solution utilisant nginx est favorable.

Un correctif Nginx aurait été sympa mais je ne suis pas sûr de l'utilisation particulière de nginx. Je ne pouvais pas le comprendre, alors, pour tous ceux qui l'ont découvert, je l'ai résolu dans un meteor avec Iron-Router.

 Meteor.startup(function () { if (Meteor.isClient) { var hostnameArray = document.location.hostname.split("."); if (hostnameArray[0] === "www") { Router.route("home", {template: "www-homepage"}); } else { Router.route("home", {template: "subdomain-homepage"}); } } } 

J'espère que cela est utile à quelqu'un d'autre. Crédit à kevinpeter de ce problème de GitHub