javascript - middleware.js in nextjs doesn't work at all - Stack Overflow

import { NextResponse } from 'nextserver'const middleware = (request) => {if (request.nex

import { NextResponse } from 'next/server'

const middleware = (request) => {
  if (request.nextUrl.pathname === request.nextUrl.pathname.toLocaleLowerCase())
    return NextResponse.next()
  return NextResponse.redirect(
    `${request.nextUrl.origin}${request.nextUrl.pathname.toLocaleLowerCase()}`
  )
}

export { middleware }

(Next v.12.2.3) No matter what I code, pages/middleware.js seems not running at all!

I wanna redirect uppercase urls to lowercase urls.

what should I do?

import { NextResponse } from 'next/server'

const middleware = (request) => {
  if (request.nextUrl.pathname === request.nextUrl.pathname.toLocaleLowerCase())
    return NextResponse.next()
  return NextResponse.redirect(
    `${request.nextUrl.origin}${request.nextUrl.pathname.toLocaleLowerCase()}`
  )
}

export { middleware }

(Next v.12.2.3) No matter what I code, pages/middleware.js seems not running at all!

I wanna redirect uppercase urls to lowercase urls.

what should I do?

Share asked Aug 8, 2022 at 15:59 ArshazarArshazar 111 silver badge4 bronze badges 3
  • Did you attach the middleware to your router? – Asad Awadia Commented Aug 8, 2022 at 16:00
  • @AsadAwadia there was no such thing in doc of next! – Arshazar Commented Aug 8, 2022 at 16:01
  • @AsadAwadia can you elaborate - is this actually required in Next? – jezmck Commented Nov 16, 2022 at 16:23
Add a ment  | 

1 Answer 1

Reset to default 7

The documentation says:

Create a middleware.ts (or .js) file at the same level as your pages directory

So it shouldn't be inside pages/, but in the same directory as pages/.

发布者:admin,转转请注明出处:http://www.yc00.com/questions/1744913031a4600667.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信