【发布时间】:2022-01-29 02:40:21
【问题描述】:
是否可以根据访问者的referer进行有条件的重定向?
如果用户来自特定域(和/或任何其他子域),我想做的是重定向用户,如果没有引荐来源或域不匹配,则不应应用重定向。
我在考虑使用 getServerSideProps()。
【问题讨论】:
标签: next.js nextjs-dynamic-routing
是否可以根据访问者的referer进行有条件的重定向?
如果用户来自特定域(和/或任何其他子域),我想做的是重定向用户,如果没有引荐来源或域不匹配,则不应应用重定向。
我在考虑使用 getServerSideProps()。
【问题讨论】:
标签: next.js nextjs-dynamic-routing
这样的逻辑读取标头需要在 some 服务器上,并且您应该能够读取 middleware 中的引荐来源网址,您也可以在其中处理重定向。这在理论上应该可行:
// pages/_middleware.ts
import type { NextRequest, NextResponse } from 'next/server';
export function middleware(req: NextRequest) {
console.log('referrer', req.referrer); // do your domain parsing / regex here
// redirect with NextResponse.redirect()
}
推荐人的可靠性存在固有限制,因为对您而言该值可能是opaque。
我首先会质疑这种源嗅探和条件重定向的用例。
【讨论】: