301 (Moved Permanently) и 302 (Found)

301 Moved Permanently и 302 Found са HTTP статус кодове, с които уеб сървърът отговаря на уеб клиентите и ботовете на търсещите машини, при опит да достъпят пренасочен уеб адрес.

HTTP статус кодът е първия ред (статус линията) в HTTP хедърите на отговора от уеб сървъра. Кодовете 301 и 302 са описани в документите на HTTP спецификацията.

301 Moved Permanently (Permanent)

Статус 301 означава, че уеб ресурсът (страницата) е преместен за постоянно на нов уеб адрес. Уеб клиентите не бива да ползват повече стария уеб адрес и от сега нататък трябва да използват новия уеб адрес.

При този статус търсещите машини (Google, Bing) ще подменят в базата си стария с новия уеб адрес. След това, при търсене на ресурса в търсачката, в резултатите ще се показва новия уеб адрес.

Например при създадено 301 пренасочване от sourcedomain.com към targetdomain.com уеб клиентът и уеб сървърът ще си разменят следните HTTP хедъри:

Уеб браузърът иска да зареди sourcedomain.com, примерни HTTP хедъри на заявката:

линия за заявкатаGET / HTTP/1.1
HTTP хедъри (заявка)
уеб браузър
Host: sourcedomain.com
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:46.0) Firefox/46.0
Accept: text/html,application/xhtml+xml
 
 

Уеб сървърът ще върне отговор на заявката с HTTP хедъри:

статус линияHTTP/1.1 301 Moved Permanently
HTTP хедъри (отговор)
уеб сървър
Date: Fri, 16 May 2016 12:20:50 GMT
Server: Apache
Location: http://targetdomain.com/
 
 

Уеб клиентът, в случая уеб браузър Mozilla Firefox, ще разчете този отговор и ще направи нова заявка към уеб адреса от полето Location. Също така ще замени sourcedomain.com с targetdomain.com в любимите връзки (bookmarks).

Кога се ползва 301 пренасочване?

  • когато домейнът на сайта е променен; например mysitename.com/blog вече ще се намира на уеб адрес blog.mysitename.com или somesitename.com вече ще е mysitename.bg и т.н;
  • когато един сайт се достъпва от няколко различни уеб адреса, например http://home.mysitename.com, http://www.mysitename.com, http://mysitename.net (паркирани домейни) и т.н;
  • когато сайтът ще ползва нова структура и адреси.

302 Found (Temporary)

Статус 302 означава, че ресурса се намира временно на нов уеб адрес. Уеб клиентите трябва да продължат да ползват оригиналния уеб адрес.

Кога се ползва 302 пренасочване?

  • само когато пренасочването наистина е временно;
  • например при кратък, временен период на профилактика и обновяване или временно ограничение на уеб достъпа до даден ресурс и т.н;
  • когато имате уеб ресурс, който все още не е готов за публикуване, но искате да покажете на посетителите негов временен заместител (coming soon страница и други).

Създаване на пренасочване 301 или 302

Автоматично създаване на пренасочвания, за домейни и уеб адреси в cPanel, може да се извърши през меню (Домейни) Пренасочвания. Пренасочване на Паркиран домейн може да се създаде също през меню Паркирани домейни в cPanel.

Пренасочване може да се извърши и чрез поставяне на пренасочващи правила в .htaccess файл.

Ако създавате пренасочване, чрез .htaccess, понякога може да е необходимо да изчистите кеша на уеб браузъра, за да видите резултатите.

HTTP статус кодовете са част от HTTP хедърите и може да се управляват и от приложенията в хостинг акаунта. Например пренасочване 301 чрез PHP код:

<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: http://targetdomain.com/new.html");
exit();
?>
Обновена: 12.10.2022
Беше ли Ви полезна тази статия?

Вижте още