ページの提供時に問題があります(私の場合はnodejs)。Node.js:相対パスと絶対パス
私は以下のURLを持っているとします:http://localhost:80
単純なhtmlページを提供しますが、ログインページ(http://localhost:80/login
)にリダイレクトされた場合はログインする必要があります。
これは簡単ですが、すべて正常に動作します。 ここで、ポート80でリッスンしているサーバーにリダイレクトする別のURL http://otherdoamin.com/internal/back
があるとします。
私のサーバーを管理して、両方のURLを処理する最良の方法を見つけるのは難しいです。ここで
はちょうどロジックを示すためのサンプルコードです:私はhttp://localhost:80
に行く
が、私がログインしていないです、私はにリダイレクトしています:
function checkAuth(req, res, next) {
//if user isn't logged, redirect to login
}
app.get('/login', function(req, res) {
//if user is logged, redirect to base path (/) which serves an html page
//else
//display login.html page
})
app.get('/', checkAuth, function (req, res) {
res.sendFile(__dirname + '/views/index.html');
});
はのは、今私は、次のケースを持っているとしましょうログインページ(http://localhost:80/login
)。ログイン後、http://localhost:80
にリダイレクトされます。
しかし、私が他のURL(http://otherdoamin.com/internal/back
)で次のような場合、私はパスに問題があります:絶対パスがあれば、ログインへのリダイレクトは機能しますが、ログイン後、 http://otherdoamin.com/internal/back/の代わりのhttp://otherdoamin.com/
へのリダイレクトは明らかです。
あなたは自分のURLがhttp://otherdoamin.com/internal/backのままであることを維持しようとしていますか?彼らはログインすることができ、まだ彼らのURLバーのotherdomainを見ることができるはずですか?純粋なリダイレクトの場合は、DNSに適切なURL値を設定するだけで簡単です。 – Devnetics
本当に、私はそれにアクセスすることはできません(私はリダイレクトを行う人ではありません)が、それを達成するための唯一の方法でしょうか? – krakig
サーバーがotherdomainからの要求を受信する唯一の方法は、2つのシナリオの1つです。 A)DNSにはURLリダイレクトレコードが存在します。 B)otherdomainはあなたのURLを指す逆プロキシです。 – Devnetics