W3cubDocs

/HTTP

301 Moved Permanently

The HyperText Transfer Protocol (HTTP) 301 Moved Permanently redirect status response code indicates that the resource requested has been definitively moved to the URL given by the Location headers. A browser redirects to this page and search engines update their links to the resource (in 'SEO-speak', it is said that the 'link-juice' is sent to the new URL).

Even if the specification requires the method (and the body) not to be altered when the redirection is performed, not all user-agents align with it - you can still find this type of bugged software out there. It is therefore recommended to use the 301 code only as a response for GET or HEAD methods and to use the 308 Permanent Redirect for POST methods instead, as the method change is explicitly prohibited with this status.

Status

301 Moved Permanently

Example

Client request

GET /index.php HTTP/1.1
Host: www.example.org

Server response

HTTP/1.1 301 Moved Permanently
Location: http://www.example.org/index.asp

Specifications

Specification Title
RFC 7231, section 6.4.2: 301 Moved Permanently Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

Browser compatibilityUpdate compatibility data on GitHub

Desktop
Chrome Edge Firefox Internet Explorer Opera Safari
301 Yes 12 Yes Yes Yes Yes
Mobile
Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
301 Yes Yes Yes Yes Yes Yes

See also

© 2005–2020 Mozilla and individual contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/301