用户登录

重写指的就是不改变原来请求的地址,但是使用另外的地址作响应。

新建一个页面,放在 app/variation/about 的下面,名字是 page.tsx。

复制一下 about 这个页面文件里的东西,把它粘贴到新创建的这个页面文件里。修改一下这个 variation 里的 about 页面,比如在这行文字的最后添加一个表情符号。

现在我想让用户在访问 /about 这个地址的时候,显示的是 /variation 里的那个 about页面。这种情况我们就可以在中间件里使用重写功能。

在中间件里判断一下 pathname 是否等于 /about , return 的东西用一下 NextResponse.rewrite ,给它提供一个 URL,新建一个 URL,路径名是 /variation/about,基本地址是 request.url。

这样如果有用户访问的是 /about 这个地址,得到的响应其实是 /variation/about 这个页面。

在浏览器上测试一下,访问 /about 这个地址,你会发现这个关于页面的内容里面多了一个表情符号。说明这个页面内容并不是原本的关于页面,而是 variation 里的那个 about 页面。

在中间件里用 NextResponse 重写(rewrite)响应《 Next.js:中间件 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点