Whenever we get a HTTP 302 error, it requires a redirect and the same questions usually arise:
Ето някои от въпросите:
- Готов ли е уебсайтът ми за него?
- Какъв тип пренасочване е най-подходящият за моя случай?
- Ще загубя ли цялата SEO работа, която съм свършил досега?
- Ще ме санкционира ли Google? Какво се случва, ако премахна пренасочванията?
- Как се правят?
- Как да поправя грешка 302? (ако се случи)
В тази статия ще отговоря на всички тези въпроси, така че да имате по-голяма яснота във всеки отделен случай.
Какво е пренасочване 302?
Code 302 indicates a temporary redirection.
One of the most notable features that differentiate it from a 301 пренасочване е, че в случай на 302 пренасочвания силата на SEO не се прехвърля към нов URL адрес.
Това е така, защото това пренасочване е проектирано да се използва, когато има нужда от пренасочване на съдържание към страница, която няма да бъде окончателната.
По този начин, след като пренасочването е елиминирано, оригиналната страница няма да е загубила позиционирането си в търсачката Google.
Въпреки че не е много често да се оказваме, че се нуждаем от пренасочване 302, тази опция може да бъде много полезна в някои случаи. Това са най-честите случаи:
- Когато разберем, че има някакво неподходящо съдържание на дадена страница. Докато решаваме проблема, можем да пренасочим потребителя към друга страница, която може да представлява интерес.
- В случай че атака срещу нашия уебсайт изисква възстановяване на някоя от страниците, това пренасочване може да ни помогне да сведем до минимум случаите.
Пренасочване 302 е код, който казва на посетителите на конкретен URL адрес, че страницата е била преместена временно, насочвайки ги директно към новото място.
С други думи, пренасочването 302 се активира, когато роботите от Google или други търсачки поискат да заредят конкретна страница. В този момент, благодарение на това пренасочване, сървърът връща автоматичен отговор, указващ нов URL адрес.
По този начин се избягват грешки и раздразнения както за търсачките, така и за потребителите, което гарантира безпроблемна навигация.
За какво е пренасочване 302?
Пренасочването 302 служи например за няколко версии на начална страница на различни езици.
The main one can be in English, but if the visitors come from other countries then this system automatically redirects them to a page in their language.
По този начин, мобилизация на уеб трафик се постига, но в същото време влиянието на SEO ниво на главната страница не се разрежда. Това продължава да расте, въпреки че няма прехвърляне на власт, както обяснихме по-рано.
Пример за пренасочване на HTTP 302
The most common HTTP 302 redirect example case is Google.
Независимо от държавата, от която имате достъп, ако въведете https://www.google.com/, you will be redirected to the Google version in the language/country that corresponds to you.
В случай на Германия, 302 автоматично ни отвежда до https://www.google.de/ за да можем да търсим съдържание на немски език.
Порталите на успешни компании като Coca-Cola или дори Fujitsu също използват тази система, за да пренасочват трафика до мястото, което смятат за най-удобно.
What causes HTTP 302 error?
Here are some of the most common reasons for the 302 redirect error:
- Използване на 302 пренасочвания, докато домейнът се движи;
- Създаване на пренасочване 302 при преместване на документа;
- Използване на пренасочване 302 по време на смяна на протокола на сайта;
- Създаване на 302 пренасочвания, докато структурата на сайта се променя.
HTML пренасочване 302 не се препоръчва, когато методът на оригиналната заявка трябва да бъде приложен към заявката на целевия URL адрес - например, преместване на URL адреса на директива за формуляр, която използва метода POST за определен период.
Не трябва да използвате статутния код 302, ако искате да прехвърлите SEO-тегло на целевия URL адрес.
How to identify HTTP 302 error?
Проверка дали пренасочването 301 и 302 настройките са правилни е много лесно.
When entering into the address bar of the old address, we observe what is happening.
The change of address indicates that everything is fine with the redirect.
The address remains the same – you need to look for the source of the problem, but first, we advise you to clean the cache and try again.
Има и друга опция - да кандидатствате за проверка на кода на отговора на сървъра към онлайн услуги, например http://example.com/e_redirect/.
Ако настроите пренасочване правилно, след въвеждане на името на домейна, ще видите кода за отговор 301 или 302. Зависи какъв тип пренасочване сте планирали да получите първоначално.
Някои услуги допълнително показват кода, даден от сървъра след пренасочването, и тук има само една валидна опция - 200 OK.
How to fix HTTP 302 error?
Метод 1: Проверете конфигурацията на сървъра
Приложението може да работи на сървъра, който използва една от тези две най-често срещани програми за уеб сървър, Nginx или Apache. Тези два уеб сървъра представляват повече от 84 процента от глобалната програма за уеб сървъри!
Therefore, the first step in determining the 302 response code is checking the mandatory redirect instructions in the webserver program configuration file.
За уеб сървър Apache
Стъпка 1: Отворете .htaccess файл на сървъра
To identify the webserver, you need to find the key file. If you are using the Apache web server, locate the .htaccess file in your site’s root filesystem.
Ако вашата програма е на споделения хост, може да сте свързали потребителското си име например с хост акаунта. В този случай обикновено директорията на корен на приложението се намира в пътя:
/home/<username>/public_html/path, thus the .htaccess file is located at /home/<username>/public_html/.htaccess.
Стъпка 2: Намерете директивите mod_rewrite
След като намерите .htaccess файла, го отворете в текстов редактор и намерете реда, който използва директивите RewriteXXX, принадлежащи към модула Apache mod_rewrite.
Основната идея обаче е, че директивата RewriteCond очертава текстов модел, който се сравнява с регистрирания URL. Когато посетител поиска съответния URL адрес на даден сайт, директивата RewriteRule, която проследява една или няколко инструкции за RewriteCond, всъщност ще пренасочи заявката към съответния URL адрес.
Например, следното е лесна комбинация от RewriteRule и RewriteCond, която удовлетворява всички изисквания на example.com, но вместо това вмъква временна пренасочване в същия URI във временния домейн - example.com:
RewriteEngine в RewriteCond% {HTTP_HOST} ^ пример \ .com $ RewriteRule ^ (. *) $ HTTP://www.temporary-example.com/$1 [R = 302]
Забележете допълнителния банер в долната част на RewriteRule, който ясно илюстрира, че кодът за отговор трябва да бъде 302, показвайки на агента на браузъра, че това е временно пренасочване.
Стъпка 3: Нулирайте директивите във .htaccess файла
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^ индекс \ .php $ - [L] RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule. /index.php [L] # END WordPress
Ето защо, ако получите необичайна директива RewriteRule или RewriteCond във вашия .htaccess файл, който изглежда не се вписва в него, опитайте се да ги анотирате временно (с префикс с #) и рестартирайте уеб сървъра, за да проверите дали проблемът е решен.
За уеб сървър на Nginx
Стъпка 1: Отворете файла nginx.conf
Ако вашият уеб сървър работи с Nginx, трябва да потърсите напълно различен конфигурационен файл. Този файл е посочен като nginx.conf по подразбиране и се намира в една от често срещаните директории, изброени по-долу:
/ usr / local / nginx / conf, / etc / nginx или, / usr / local / и т.н. / nginx.
Стъпка 2: Пренапишете директивите във файла nginx.conf
След откриване отворете файла nginx.conf във вашия текстов редактор и намерете директивите за пренаписване, които са свързани с индикатора за пренасочване.
Например, това е обикновена директива за блок (деклариран набор от отчети), която настройва виртуалния сървър чрез генериране на временна пренасочване от abc.com към временна-abc.com:
сървър {слушайте 80; слушайте 443 ssl; име на сървър www.abc.com; пренапишете ^ / $ http://www.temporary-abc.com пренасочване; }
Директивите за пренаписване на Nginx са успоредни на Apache RewriteRule и
RewriteCond, защото те обикновено съдържат по-сложни модели, насочени към текст.
Стъпка 3: Проверете политиката за замяна на файла nginx.conf
Във всеки случай проверете файла nginx.conf за политика за замяна на изключения, която съдържа флаг за пренасочване (друг постоянен код за връщане на отговор 301).
Моля, имайте предвид изключенията, преди да рестартирате сървъра, за да проверите дали проблемът е решен.
Метод 2: Търсене на остарял софтуер
В документа за спецификация на RFC за HTTP 1.0 се посочва, че целта на кода за отговор „302 намерени“ има за цел да укаже, че клиентът трябва да извърши временна пренасочване.
However, many new browsers will process the code 302 received through the POST request as an invalid GET request.
This has triggered snags and confusion with particular web server programs that attempt to force the browser to perform the right work when it needs to be redirected temporarily.
За да реши този проблем, документът за спецификация RFC HTTP 1.1 върна 303 кода за отговор, още 307 временни пренасочвания, което е разбираем начин за управление на POST-към-GET или временни, преходни отговори.
Метод 3: Почистване на трупите
Почти всички уеб приложения съхраняват записи на сървъра. Дневникът на приложенията обикновено представлява историята на приложенията, например кои страници, сървъри са били поискани и свързани, получени от предоставената база данни и т.н.
Сървърните дневници са свързани с текущото устройство, което изпълнява програмите и обикновено съдържа информация за състоянието и здравето на всички свързани услуги и дори информацията за сървъра.
Google запис [PLATFORM_NAME] в CMS или използвайте [PROGRAMMING_LANGUAGE], за да се регистрирате и регистрирате [OPERATING_SYSTEM], когато стартирате персонализираното приложение за повече информация, за да получите тези записи.
Метод 4: Поправете кода на приложението
В случай, че всички гореспоменати методи се провалят, проблемът може да е в потребителския код на приложението, причинил проблема.
Опитайте се да определите причината за проблема, като ръчно намерите приложението и го анализирате в файловете на сървъра и дневника на приложението.
Добра идея е да копирате пълното приложение на вашия локален компютър за разработка и да преминете през него, за да видите какво точно се случва с 302 сканирането и да видите кода за всяко приложение.
HTTP 302 Error: Conclusion
Накрая, както видяхте, не е нужно да се страхуваме много от грешките при пренасочване на HTTP 302. Без да продължаваме по-нататък, те са фантастичен начин да избегнем загуба на трафик на нашите уеб страници с неизбежните промени, които възникват през годините.
I hope that, after reading this article, you will not get chills every time about how do I fix the 302 moved temporarily error.
Независимо дали искате да направите своя принос към публикацията или ако имате въпрос или просто искате да дадете своето мнение, не се колебайте да коментирате по-долу!