HTTP 301
≈ 3 min read
Names in other languages
No names in other languages are held for this entry yet.
Article bodies are English and are not machine-translated. A name in another language is not a translation of the article.
On the World Wide Web, HTTP 301, or 301 Moved Permanently, is the HTTP status code used for permanent redirecting. It means that links or records to this URL should be updated to the destination provided in the Location field of the server response. The 301 redirect is considered a best practice for upgrading users from HTTP to HTTPS. RFC 2616 states that: * If a client has link-editing capabilities, it should update all references to the Request URL. * The response is cacheable unless indicated otherwise. * Unless the request method was HEAD, the entity should contain a small hypertext note with a hyperlink to the new URL(s). * If the 301 status code is received in response to a request of any type other than GET or HEAD, the client must ask the user before redirecting.
On the World Wide Web, HTTP 301, or 301 Moved Permanently, is the HTTP status code used for permanent redirecting. It means that links or records to this URL should be updated to the destination provided in the Location field of the server response. The 301 redirect is considered a best practice for upgrading users from HTTP to HTTPS. RFC 2616 states that: If a client has link-editing capabilities, it should update all references to the Request URL. The response is cacheable unless indicated otherwise. Unless the request method was HEAD, the entity should contain a small hypertext note with a hyperlink to the new URL(s). If the 301 status code is received in response to a request of any type other than GET or HEAD, the client must ask the user before redirecting. ==Examples== Client request: GET /index.php HTTP/1.1 Host: www.example.org Server response: HTTP/1.1 301 Moved Permanently Location: https://www.example.org/index.asp Redirect 301 /calendar.html /calendar/ Redirect 301 /not_found.html / Here is an example using a .htaccess file to redirect a non-secure URL to a secure address without the leading "www": RewriteEngine On RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L] RewriteCond %{HTTPS} on RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC] RewriteRule ^(.*)$ https://%1/$1 [R=301,L] RewriteEngine On RewriteCond %{SERVER_PORT} 80 RewriteRule ^(.*)$ https://example.com/$1 [R,L] Home print redirect("https://example.com/newpage.html"); Here is an example using a PHP redirect: Here is one way to redirect using Express.js: app.all("/old/url", (req, res) => { res.redirect(301, "/new/url"); }); location /old/url/ { return 301 /new/url/; } ===Search engines=== Both Bing and Google recommend using a 301 redirect to change the URL of a page as it is shown in search engine results, providing that URL will permanently change and is not due to be changed again any time soon. ==See also== Hypertext Transfer Protocol List of HTTP status codes URL redirection
Text derived from https://en.wikipedia.org/w/index.php?oldid=1345198988 under CC BY-SA 4.0; modifications have been made.