基于referrer的条件重定向



是否可以根据访问者的引用人进行有条件的重定向?

我想做的是重定向用户,如果它来自特定的域(和/或任何其他子域(,如果没有推荐人或域不匹配,则不应应用重定向。

我在考虑使用getServerSideProps((。

这样的逻辑读取头需要在某个服务器上,并且您应该能够在中间件中读取referrer,在中间件中您也可以处理重定向。这在理论上应该有效:

// 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()
}

引用人的可靠性存在固有的限制,因为该值对您来说可能是不透明的。

我首先会质疑这种源嗅探和条件重定向的用例。

最新更新