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
HEAD methods and to use the
308 Permanent Redirect for
POST methods instead, as the method change is explicitly prohibited with this status.
301 Moved Permanently
GET /index.php HTTP/1.1 Host: www.example.org
HTTP/1.1 301 Moved Permanently Location: http://www.example.org/index.asp
|RFC 7231, section 6.4.2: 301 Redirect Permanently||Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content|
|Chrome||Edge||Firefox||Internet Explorer||Opera||Safari||Android webview||Chrome for Android||Edge Mobile||Firefox for Android||Opera for Android||iOS Safari||Samsung Internet|
|Basic support||Chrome Full support Yes||Edge Full support Yes||Firefox Full support Yes||IE Full support Yes||Opera Full support Yes||Safari Full support Yes||WebView Android Full support Yes||Chrome Android Full support Yes||Edge Mobile Full support Yes||Firefox Android Full support Yes||Opera Android Full support Yes||Safari iOS Full support Yes||Samsung Internet Android Full support Yes|
- Full support
- Full support