2017-06-29 16 views
0

彼らは、ログインのために意図されているように私は、/admin/admin/含めない/admin/users/admin/settingsまたは、などの任意の/adminの要求に合致する速達でルートを定義しようとしていますが、接続かどうかを確認します管理者がログインしている場合は、HTTPSで、Expressのルートは

私のようなさまざまな正規表現を試してみた:。

/admin/:var() 
/admin/.* 
/admin/* 
/admin/var(*) 

しかし、どれも私が使用していますルーティングをwork.Forように見える:

app.use('/admin/:var(.{1,})',function(req,res,next){ 
    res.send("hello world"); 
    console.log("matched "+req.params.var); 
}); 

答えて

0

このようなルート:

app.use('/admin/:more', function(req, res, next) { 
    console.log(`req.path: ${req.path}`); 
    // check admin login and https here 
    next(); 
}); 

/adminまたは/admin/に一致するが、私はあなたが求めて何を考えている試合/admin/anythingelse/admin/anythingelse/andmoreをしていません。

+0

はい、動作します。しかし、それは非常に奇妙です、私は前にそれを試して、動作しませんでした。それを今試して、クロムで動作しませんでした。しかし、私がシークレットモードに切り替えたとき、それはうまくいった。シークレットモードでなければ、私は 'next'と呼ぶ場合にのみ起こるはずの/ admin/homeにリダイレクトされ続けます。 – AnduHD

+0

@AnduHD - リダイレクトはあなた自身のコードから来なければなりません。私たちはリダイレクトを引き起こすコードを見ずにここであなたを助けることはできません。ここではリダイレクトはありません。シークレットモードに接続すると、あなたのコードの一部が見ているクッキーがあると思います。 – jfriend00

+0

あなたの答えをありがとう、私はちょうどクロムキャッシングリダイレクトについての情報を発見し、それは奇妙な動作だったと思います。 – AnduHD

関連する問題