Раскрыццё інфармацыі: Калі вы набываеце паслугу альбо прадукт праз нашы спасылкі, мы часам зарабляем камісію.

Што такое памылка HTTP 302 і як гэта выправіць? [4 тлумачаныя метады праверкі]

Whenever we get a HTTP 302 error, it requires a redirect and the same questions usually arise:

Вось некаторыя пытанні:

  1. Ці гатовы мой сайт?
  2. Які тып перанакіравання найбольш падыходзіць для майго выпадку?
  3. Ці згублю ўсю SEO працу, якую я рабіў дагэтуль?
  4. Ці будзе Google караць мяне? Што адбудзецца, калі я ліквідую перанакіраванні?
  5. Як яны зроблены?
  6. Як выправіць памылку 302? (калі гэта адбываецца)


У гэтым артыкуле я адкажу на ўсе гэтыя пытанні, каб вы мелі больш выразнасці ў кожным канкрэтным выпадку.

Што такое перанакіраванне 302?

Code 302 indicates a temporary redirection.
One of the most notable features that differentiate it from a 301 перасылак у тым, што ў выпадку перанакіравання 302, трываласць SEO не пераносіцца на новы URL.

Google SEO

Гэта таму, што гэта перанакіраванне было распрацавана для выкарыстання, калі ўзнікае неабходнасць перанакіраваць змесціва на старонку, якая не будзе канчатковай.
Такім чынам, пасля таго, як перанакіраванне будзе ліквідавана, зыходная старонка не страціла свайго пазіцыянавання ў пошукавай сістэме 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.

302 перасылак

Такім чынам адбылася мабілізацыя вэб-трафіку дасягаецца, але ў той жа час уплыў на ўзровень 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.

Пошук у Google
У выпадку з Германіяй, 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 ОК.

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.

Файлавы менеджэр cPanel
Калі ваша праграма знаходзіцца на агульным хосце, магчыма, у вас ёсць імя карыстальніка, звязанае, напрыклад, з уліковым запісам хоста. У гэтым выпадку, як правіла, каталог кораня прыкладання знаходзіцца ў шляху:
/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.

mod_rewrite
Аднак асноўная ідэя заключаецца ў тым, што дырэктыва RewriteCond акрэслівае тэкставую мадэль, якая параўноўваецца з зарэгістраваным URL. Калі наведвальнік патрабуе адпаведнага URL на сайце, дырэктыва RewriteRule, якая адсочвае адну ці некалькі інструкцый RewriteCond, будзе фактычна перанакіроўваць запыт на адпаведны URL.
Напрыклад, ніжэйшае спалучэнне RewriteRule і RewriteCond, якое задавальняе ўсім патрабаванням example.com, а ўстаўляе часовае перанакіраванне ў той жа URI у часовым дамене - example.com:

RewriteEngine on RewriteCond% {HTTP_HOST} ^ example \ .com $ RewriteRule ^ (. *) $ HTTP://www.temporary-example.com/$1 [R = 302]

Звярніце ўвагу на дадатковы банер унізе RewriteRule, які наглядна ілюструе, што код адказу павінен быць 302, паказваючы агенту браўзэра, што гэта часовае перанакіраванне.

Крок 3: Скіньце дырэктывы ў файл .htaccess
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^ index \ .php $ - [L] RewriteCond% {REQUEST_FILENAME}! -F RewriteCond% {REQUEST_FILENAME}! -D RewriteRule. /index.php [L] # КОНЕЦ WordPress

Таму, калі ў вашым файле .htaccess вы атрымліваеце незвычайную дырэктыву RewriteRule або RewriteCond, якая, здаецца, не падыходзіць да яе, паспрабуйце часова анатаваць іх (з прэфіксам #) і перазапусціце вэб-сервер, каб праверыць, ці праблема вырашана.

Для вэб-сервера Nginx

Крок 1. Адкрыйце файл nginx.conf

канфігурацыя ngix
Калі ваш вэб-сервер працуе на Nginx, вам варта шукаць зусім іншы файл канфігурацыі. Гэты файл па змаўчанні паказаны як nginx.conf і знаходзіцца ў адной з пералічаных ніжэй каталогаў:

/ usr / local / nginx / conf, / і г.д. / nginx альбо, / usr / local / і г.д. / nginx.

Крок 2. Перапішыце дырэктывы ў файл nginx.conf

Пасля выяўлення адкрыйце файл nginx.conf у тэкставым рэдактары і знайдзіце дырэктывы перапісання, якія адносяцца да індыкатара перанакіравання.

HTTP 302 error: 301 scheme
Напрыклад, гэта звычайная блочная дырэктыва (аб'яўляецца набор заяў), якая наладжвае віртуальны сервер шляхам стварэння часовага перанакіравання з abc.com на временное -abc.com:

сервер {слухаць 80; слухаць 443 ssl; імя сервера www.abc.com; перапісаць ^ / $ перанакіраваць http://www.temporary-abc.com; }

Дырэктывы Nginx перапісвае паралельна Apache RewriteRule і
Перапішыце, таму што звычайна яны складаюць больш складаныя тэкставыя арыенціры.

Крок 3. Праверце палітыку замены файла nginx.conf

У любым выпадку, праверце файл nginx.conf для выключэння палітыкі замены выключэння, якая змяшчае сцяг перанакіравання (іншы пастаянны код адказу 301 вяртання сцяга).

HTTP 302 error: nginx parameters
Звярніце ўвагу на ўсе выключэнні перад перазагрузкай сервера, каб праверыць, ці праблема вырашана.

Спосаб 2. Пошук устарэлага праграмнага забеспячэння

У дакуменце спецыфікацыі RFC для HTTP 1.0 пазначана, што мэта кода адказу "знойдзена 302" прызначана для таго, каб паказаць, што кліент павінен выканаць часовае перанакіраванне.

HTTP 302 error: device risk
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-to-GET або часовымі, часовымі адказамі.

Спосаб 3. Ачыстка бярвёнаў

Практычна ўсе вэб-прыкладанні захоўваюць запісы на серверы. Журнал прыкладанняў звычайна ўяўляе гісторыю прыкладанняў, напрыклад, якія старонкі, серверы былі запытаныя і падлучаныя, якія былі атрыманы з прадастаўленай базы дадзеных і гэтак далей.

HTTP 302 error: clean the logs
Журналы сервера падключаюцца да бягучай прылады, якая запускае праграмы і звычайна ўтрымлівае інфармацыю пра стан і стан здароўя ўсіх падлучаных службаў і нават інфармацыю пра сервер.
Запіс Google [PLATFORM_NAME] у CMS альбо выкарыстанне [PROGRAMMING_LANGUAGE] для рэгістрацыі і рэгістрацыі [OPERATING_SYSTEM] пры запуску карыстацкага дадатку для атрымання дадатковай інфармацыі для атрымання гэтых запісаў.

Спосаб 4. Выпраўце код прыкладання

У выпадку, калі ўсе вышэйзгаданыя метады не атрымаліся, праблема можа быць у кодзе карыстальніка прыкладання, якое выклікала праблему.

HTTP 302 error: web browser
Паспрабуйце вызначыць прычыну праблемы, усталяваўшы прыкладанне ўручную і прааналізаваўшы яго ў файлах сервера і часопіса прыкладанняў.
Добра ідэя скапіяваць поўнае прыкладанне на ваш лакальны кампутар распрацоўкі і перагледзець яго, каб дакладна даведацца, што адбываецца з 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.
Калі вы хочаце зрабіць свой унёсак у пост або ў вас ёсць пытанні ці проста хочаце выказаць сваё меркаванне, не саромейцеся каментаваць ніжэй!