DevToolPal
EN
3xx Redirection

308 Permanent Redirect

What it means

The resource has moved permanently, and clients must repeat the request at the new URL with the same method and body.

Common causes

  • API paths moved permanently
  • A framework enforcing trailing slashes or HTTPS
  • Domain migrations that must preserve POST

How to fix it

As a client or visitor

Update the URL in your code and resend the same request. Very old clients may not support 308.

As the site or API owner

Use 308 for permanent moves of endpoints that receive POST or PUT. For plain pages, 301 and 308 behave the same for search engines.

Example response

HTTP/1.1
HTTP/1.1 308 Permanent Redirect
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Location: https://api.example.com/v2/items
Content-Length: 0

Specification

RFC 9110 §15.4.9

FAQ

› Does 308 pass SEO value like 301?

Yes. Google treats 308 the same as 301.

› Why does Next.js or Vercel return 308?

Their trailing-slash and redirect rules use 308 by default so methods are preserved.