2017-05-29 6 views
1

expressでres.redirect()を使用する際に問題があります。Express res.redirect not redirecting

私は他の質問を探してみましたが、答えが実際に私の特定の問題をカバーしていないか、少なくとも十分な関連性はありません。

app.get(/\d\w*/g, function (req, res, next) { 

    urlCreator.findURL(req.originalUrl,function(smallURL){ 
     if (smallURL === "Small URL doesn't exist"){ 
      res.send(smallURL); 
     } 
     else { 
      res.redirect(smallURL); 
     } 
    }); 

});

elseブロック内のres.redirect()に達すると、希望のページにリダイレクトするのではなく、ブラウザ(以下のスクリーンショット)でこれを取得します。 smallUrlのフォーマットは、例えばある「www.facebook.com」

Browser response

私はブラウザは、単に代わりにこれをリダイレクトし、表示されません理由として明らかに何かが足りないのですか?

答えて

3

プロトコルがありません。 http://またはhttps://を省略すると、ブラウザはリダイレクトをローカルリソースの名前として扱います。/www.facebook.comという名前はありません。

URLだけにプロトコルをプレフィックスとして追加すると、あなたは大丈夫です:-)

+0

ああ、もちろん!ご協力ありがとうございます@ゴロローデン。それはそれを修正した。プロトコルを含むすべてのURLをチェックしてフォーマットする必要があるように見えます。 :) – tophergd

+0

歓迎します:-) –

関連する問題