HTTP 301 Moved Permanently
What a 301 Moved Permanently response means, why it happens, and the fastest ways to fix it.
The resource has permanently moved to the URL in the Location header. Browsers cache this aggressively, and search engines transfer ranking signals to the new URL.
- HTTP→HTTPS redirects, www/non-www canonicalization, restructured URLs.
- Because browsers cache 301s, a wrong permanent redirect keeps redirecting even after you fix the server — test with curl -I or a private window.
- Method may be changed to GET by legacy clients; use 308 to preserve POST.
Notes
HTTP status codes are defined in RFC 9110 (which replaced RFC 7231). The first digit is the class: 1xx informational, 2xx success, 3xx redirection, 4xx client error, 5xx server error.
Same class: 302 · 304 · 307 · 308
All codes: HTTP status code reference
Frequently asked questions
What does HTTP 301 mean?
HTTP 301 Moved Permanently: The resource has permanently moved to the URL in the Location header. Browsers cache this aggressively, and search engines transfer ranking signals to the new URL.
How do I fix a 301 error?
Because browsers cache 301s, a wrong permanent redirect keeps redirecting even after you fix the server — test with curl -I or a private window. Method may be changed to GET by legacy clients; use 308 to preserve POST.
Is a 301 my fault or the server's?
301 is not an error — it belongs to the 3xx redirect class.