2013-04-03 13 views
6

複数のドメインにサービスを提供する1つのインスタンスでNode.jsパワードサイトを実行しようとしています。私は私のメインドメインexample.comを持っていて、次に私はadmin.example.comapi.example.comを持っていますが、すべてのルートが異なります。私はエクスプレスを使用しています。Node.jsサブドメイン

これまでのところ、サブドメイン用に2つのAレコードを追加しました。また、CentOSボックスの/var/vhostsに2つのエントリを追加しました。

127.0.0.1 api.example.com 
127.0.0.1 admin.example.com 
127.0.0.1 example.com 

は、私はすでに試したので、Expressはexpress.vhostメソッドを持っていることを承知している:

app.use(express.vhost('api.example.com', require('./lib/subdomains/api'))) 
app.use(express.vhost('admin.example.com', require('./lib/subdomains/admin'))) 

しかし、それはまだのみ、以下のインポートされた私の主なルートを提供しています。私は何が欠けていますか?

+0

'。/ libに/サブドメイン/ api'、たとえば、中には何ですか? – robertklep

+0

[this Gist](https://gist.github.com/jbrooksuk/5300772)の行に沿って何かしようとしていたのは、ある時点で 'app.use(express.vhost( 'api.example ( './ lib/subdomains/api')。app)) ' – James

+0

私のためにうまく動作する[要点](https://gist.github.com/robertklep/5300792)です。ブラウザまたはCLIツールを使用してチェックインしていますか?後者の場合は、正しい 'Host'ヘッダを送信していますか? – robertklep

答えて

9

他の誰かがこの質問を見つけた場合は、あなたの仮想ルートパラメータを正しい方法で渡しているかどうかを確認することをお勧めします。

私が使っていた:

app.get('/', function(res, req) { /* Do stuff.. */ } 

それがあるべきとき。コールバック関数の最初の引数はreqで、2番目の引数はresです。

app.get('/', function(req, res) { /* Do stuff.. */ } 

あなたのコードで勤勉う:)

+1

これはなんですか?意図が明確にいくつかの違いを持っ​​ている場合、同じ2行のコード??? – inteist

+7

(res、req)は別の方法です:) – orszaczky

関連する問題