redirect到子域URL,同时保留原始URL和从子域URL中提供文件

我想要访问www.example.com并将其redirect到subdomain.example.com/homepage,而不必从www.example.com更改url。

比我的CSS和JS的捕获是在subdomain.example.com托pipe。 我正在为最后一部分苦苦挣扎。 到目前为止,我有这样的:

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"; } } 

这使我可以访问子域只是当我去www.example.com我得到的每一个CSS和JS文件试图下载404s。 我知道有更好的方法来做这样的事情,但是这似乎是我们用例中最干净的。 虽然我愿意接受任何想法,但使用nginx的解决scheme是有利的。

一个Nginx的修复会很好,但我不确定是否特别适合使用nginx。 我无法弄清楚,所以对于任何人都磕磕绊绊,我怎么用铁路路由器解决它meteor。

 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"}); } } } 

希望这对其他人有用。 感谢 来自这个GitHub问题的 kevinpeter