302 Löytynyt viesti on HTTP response status code
osoittaa, että aineisto on väliaikaisesti siirretty eri URI
. Koska sijainti tai nykyinen uudelleenohjaus direktiiviä voidaan muuttaa tulevaisuudessa, asiakas, joka saa 302 Found
vastauksena koodi pitäisi edelleen käyttää alkuperäisen URI tulevia pyyntöjä.,
Valitettavasti, se voi olla vaikea erotella kaikki mahdolliset HTTP-vastauskoodit ja määrittää tarkka syy virheitä kuten 302 Found
koodi. On olemassa kymmeniä mahdollista HTTP-tilakoodit käytetään edustamaan monimutkainen suhde asiakas, web-sovellus, web-palvelin, ja lukuisia kolmannen osapuolen web-palvelut, jotka saattavat olla käytössä, joten määritettäessä aiheuttaa tietyn tilan koodi voi olla haastavaa., Tässä artikkelissa me tutkia 302 Found
koodi katsomalla muutamia vianmääritys vinkkejä, sekä joitakin mahdollisia korjauksia varten yhteisiä ongelmia, jotka saattavat aiheuttaa tämän ongelman omassa web-sovelluksia, joten aloitetaan!
Ongelma on Server-Side
Kaikki HTTP-vastauksen tilan koodeja, jotka ovat 3xx
luokka pidetään redirection messages
. Tällaiset koodit osoittavat, että käyttäjä agentti (eli web-selain), että lisätoimia tarvitaan, jotta täydellinen pyytää ja käyttää haluamasi resurssi., Toisin kuin client error responses
löydy 4xx
koodit, kuten 404 Not Found Error
tutkimme äskettäin, joka saattaa johtua siitä, että joko client – tai server-puolen kysymys, 302 Found
koodi tarkoittaa yleensä ongelma on todellinen web-palvelin hosting oman sovellus.
sen mukaan302 Found
ulkonäkö ei yleensä vaadi paljon käyttäjien väliintuloa. Kaikki nykyaikaiset selaimet havaitsevat automaattisesti 302 Found
vastauskoodin ja käsittelevät tilapäisesti uudelleenohjaustoiminnon automaattisesti., Web-palvelin hosting sovellus tyypillisesti erityinen Location
header osana vastausta, se lähettää asiakkaalle. Tämä Location
otsikko osoittaa uuden URL-osoitteen, josta pyydetty resurssi löytyy. Esimerkiksi, jos pyyntö tulee käyttää URL-osoite , mutta web-palvelin on määritetty pakottamaan uudelleenohjaus turvallisen version käyttäen
https
, palvelimen vastaus sisältää Location: https://airbrake.io
ylätunniste., Tämä kertoo selaimelle, että sen tulisi ohjata tämän yhden pyynnön suojatun URL-osoite
. Useimmissa tapauksissa, selain tunnistaa automaattisesti tätä
302 Found
vastaus koodi, lue uusi Location
URL, ja ohjaa pyynnön, että uusi sijainti.
Kuitenkin, se on tärkeää pitää mielessä, että 302 Found
vastaus koodia käytetään täysin eri tarkoituksiin, kuin 301 Moved Permanently
me katsoimme viime viikolla., Jos entinen, uudelleenohjaus pitäisi olla väliaikainen (eli vain nykyisen, yhden pyynnön) — selain olisi ”muistaa” alkuperäisen URI ja käsitellä tulevia pyyntöjä käyttämällä samaa URI. Kuitenkin, jossa 301 Moved Permanently
koodi selain on kerrottu, että alkuperäinen URI ei ole enää voimassa, joten kaikki tulevat pyynnöt pitäisi käyttää uutta URI esittänyt Location
ylätunniste.,
Koska 302 Found
osoittaa, että jotain on mennyt pieleen sisällä server
hakemuksesi, voimme pitkälti huomiotta client
puolta. Jos olet yrittää diagnosoida ongelman kanssa oman sovelluksen, voit heti sivuuttaa useimmat client-side-koodi ja komponentit, kuten HTML, cascading style sheets (CSS), client-side JavaScript, ja niin edelleen. Tämä ei koske pelkästään verkkosivujakaan., Monet älypuhelinsovellukset, joilla on modernin näköinen käyttöliittymä, saavat todellisuudessa virtansa normaalista web-sovelluksesta kulissien takana; sellainen, joka on yksinkertaisesti piilotettu käyttäjältä. Jos käytät tällainen hakemus ja 302 Found
tapahtuu, asia ei tule liittyvät app asennettu puhelimeen tai paikallinen testaus laitteen. Sen sijaan, se on jotain, että server-puolella, joka on suorittaa useimmat logiikka ja käsittely kulissien takana, ulkopuolella toimivallassa paikallinen käyttöliittymä esittää käyttäjälle.,
Jos hakemus on tuottaa odottamattomia 302 Found
vastauskoodit on olemassa useita vaiheita voit ottaa ongelman selvittämiseksi.
Aloita Perusteellinen Sovellus Varmuuskopiointi
Kuten mitä tahansa, se on parempi pelata varman päälle alussa, kuin vääntää jotain ja tule katumaan sitä myöhemmin tiellä. Sellaisenaan, on tärkeää, että teet täyden varmuuskopion sovelluksen, tietokannan, ja niin edelleen, ennen kuin yrität mitään korjauksia tai muutoksia järjestelmään., Vielä parempi, jos sinulla on kyky, luoda täydellinen kopio sovelluksen päälle toissijainen staging
palvelin, joka ei ole ”live” tai ei ole muuten voimassa ja yleisön saatavilla. Tämä antaa sinulle puhdasta koekenttä, jolla voidaan testata kaikki mahdolliset korjaa ongelman ratkaisemiseksi, ilman turvallisuutta uhkaavia tai pyhyyttä live-sovellus.
Diagnosoinnissa 302 Löytynyt Response Code
302 Found
vastaus koodi tarkoittaa, että aineisto olisi tilapäisesti voi käyttää eri URI., Kuitenkin, se on täysin mahdollista, että palvelin on väärin, aiheuttaa se väärin vastata 302 Found
koodit, sijaan standardin ja lämpötila 200 OK
koodi normaali, toimiva pyynnöstä. Näin ollen suuri osa diagnosoinnissa asia on menossa läpi prosessin kaksinkertaisen tarkkailun mitä resursseja/Url synnyttävät 302 Found
vastauskoodit ja määritettäessä, jos nämä koodit ovat sopivia tai ei.,
Jos sovellus ei toimi, kun 302 Found
koodit, että se ei tulisi antaa, tämä on kysymys, että monet muut kävijät voivat kokea samoin, dramaattisesti estää sovelluksen kyky palvelun käyttäjille. Käymme läpi joitakin vianmääritys vinkkejä ja temppuja, joiden avulla voit yrittää ratkaista tämän ongelman. Jos mikään täällä ei toimi, älä unohda, että Google on ystäväsi. Kokeile etsiä tiettyjä ongelmaasi liittyviä termejä, kuten sovelluksen CMS-tai Web server-ohjelmiston nimi, yhdessä 302 Found
kanssa., Todennäköisesti löydät muita, jotka ovat kokeneet tämän ongelman ja ovat löytäneet ratkaisun.
Vianmääritys palvelinpuolen
Tässä on muutamia muita vinkkejä, joiden avulla voit selvittää, mitä voisi aiheuttaa 302 Found
näkyvän server-side asioita:
Vahvista Palvelimen Kokoonpano
sovellus on todennäköisesti käynnissä palvelin, joka käyttää kahta suosituinta web-palvelin, ohjelmistot, Apache
tai nginx
., Julkaisuhetkellä nämä molemmat www-palvelimet muodostavat over 84%
maailman www-palvelinohjelmiston! Näin, yksi ensimmäisiä vaiheita voit selvittää, mitä voisi aiheuttaa nämä 302 Found
vastauskoodit on tarkistaa kokoonpano-tiedostoja web-palvelimen ohjelmisto tahattomasti ohjata ohjeita.
sen määrittämiseksi, mitä web-palvelinta sovelluksesi käyttää, haluat etsiä avaintiedoston. Jos web-palvelimesi on Apache, etsi .htaccess
– tiedosto sivustosi tiedostojärjestelmän juurihakemistosta., Jos esimerkiksi hakemuksesi on jaetussa isännässä, sinulla on todennäköisesti käyttäjänimi, joka liittyy hosting-tiliin. Tällöin sovelluksen juurihakemistossa on tyypillisesti polku /home/<username>/public_html/
, niin .htaccess
tiedosto olisi /home/<username>/public_html/.htaccess
.
sijaitsee .htaccess
tiedosto avaa se tekstieditorissa ja etsi rivit, jotka käyttävät RewriteXXX
direktiivejä, jotka ovat osa mod_rewrite
moduuli Apache., Kattavat täsmälleen, miten nämä säännöt toimivat hyvin kuulu tämän artikkelin, mutta perusajatuksena on, että RewriteCond
direktiivi määrittelee teksti-pohjainen malli, joka on sovitettu vastaan tuli Url-osoitteita. Jos vastaava URL-osoite on pyytänyt kävijä sivuston, RewriteRule
direktiivi, joka seuraa yksi tai useampia RewriteCond
direktiivejä käytetään suorittamaan varsinaista uudelleenohjaus pyynnöstä asianmukainen URL-osoite.,
esimerkiksi, tässä on yksinkertainen RewriteCond
ja RewriteRule
yhdistelmä, joka vastaa kaikki saapuvat pyynnöt example.com
ja vahvistetaan väliaikaisesti uudelleenohjaus, että sama URI päälle temporary-example.com
domain sijaan:
RewriteEngine onRewriteCond %{HTTP_HOST} ^example\.com$RewriteRule ^(.*)$ http://www.temporary-example.com/$1
Huomaa ylimääräinen lippu lopussa RewriteRule
, jossa nimenomaisesti todetaan, että vastaus koodi pitäisi olla 302
, joka osoittaa käyttäjien agentit (selaimet), että tämä on väliaikainen uudelleenohjaus., Niinpä, jos huomaat mitä tahansa outoa RewriteCond
tai RewriteRule
direktiivien .htaccess
tiedosto, joka ei tunnu kuuluvan, yritä tilapäisesti kommentoi niitä ulos (käyttäen #
merkin etuliite) ja uudelleenkäynnistyksen web-palvelimen nähdä, jos tämä ratkaisee ongelman.
toisaalta,, jos palvelin on käynnissä nginx
, sinun täytyy etsiä aivan eri configuration file., Oletusarvoisesti tämä tiedosto on nimetty nginx.conf
ja sijaitsee yksi harvoista yhteiset hakemistot: /usr/local/nginx/conf
, /etc/nginx
tai /usr/local/etc/nginx
. Kun paikalla, avaa nginx.conf
tekstieditorissa ja etsi rewrite
direktiivejä, jotka käyttävät redirect
lippu. Esimerkiksi, tässä on yksinkertainen block directive
(ts., nimetty joukko direktiivejä), joka määrittää virtuaalinen palvelin luomalla väliaikainen uudelleenohjaus example.com
ja temporary-example.com
:
server { listen 80; listen 443 ssl; server_name www.example.com; rewrite ^/$ http://www.temporary-example.com redirect;}
Rewrite
direktiivien nginx
vastaavat RewriteCond
ja RewriteRule
direktiivien löydy Apache
, koska ne yleensä sisältävät enemmän monimutkainen teksti-pohjainen malleja etsimiseen., Joko niin, katsoa läpi nginx.conf
tiedosto epänormaali rewrite
direktiivejä, jotka sisältävät redirect
lippu (vaihtoehto permanent
lippu on kysymys 301
vastauskoodit sijaan). Kommentoi mitään poikkeavuuksia ennen uudelleenkäynnistystä palvelimen nähdä, onko ongelma ratkaistu.
Tarkista vanhentuneet ohjelmistot
RFC-spesifikaatioasiakirja osoitteesta HTTP 1.,0 totesi, että 302 Found
vastauskoodin tarkoituksena oli ilmoittaa, että asiakkaan tulee suorittaa väliaikainen uudelleenohjaus. Kuitenkin, monet uudemmat selaimet käsittelisi 302
koodi vastaanotettu kautta POST
pyydä yhtä virheellinen GET
pyyntö sen sijaan, joka aiheutti ongelmia ja hämmennystä niille jotkut web-palvelin, ohjelmistot, yrittää saada selaimet suorita tehtävä, kun väliaikainen uudelleenohjaus on tarpeen. Tämän ratkaisemiseksi HTTP 1.,1 RFC specification document lisätty 303 See Other
ja 307 Temporary Redirect
vastaus koodeja, jotka ovat nimenomainen keino käsitellä POST-to-GET
ja väliaikainen suoria vastauksia, vastaavasti.
Koluta Lokit
Lähes jokainen web-sovellus pitää jonkinlaista server-side lokit. Application logs
ovat tyypillisesti historiaa, mitä sovellus teki, kuten mitkä sivut olivat pyytäneet, jossa palvelimet yhteydessä, jossa tietokanta tulokset se tarjoaa, ja niin edelleen., Server logs
liittyvät todellisiin laitteisto, joka on käynnissä sovellus, ja usein antaa tietoja terveyden ja tilan kaikki kytketty palvelut, tai jopa vain palvelimen itse. Google ”lokit ”, jos käytät CMS, tai ”lokit” ja ”lokit ”, jos käytät mukautettua sovellusta, jos haluat saada lisää tietoa löytää kirjautuu sisään kysymys.
Debug hakemuksesi Koodi
Jos kaikki muu epäonnistuu, se voi olla, että ongelma joitakin mukautettuja koodi onglemista sovellus aiheuttaa ongelman., Yritä diagnosoida, missä ongelma voi olla peräisin manuaalisesti virheenkorjaus sovelluksen sekä jäsentämällä sovelluksen ja palvelimen lokit. Ihannetapauksessa tehdä kopion koko sovelluksen paikallisen kehittämisen kone ja suorittaa askel-askeleelta virheenkorjaus prosessi, jonka avulla voit luoda tarkka skenaario, jossa 302 Found
tapahtui ja tarkastella sovelluksen koodi hetkellä jotain menee pieleen.,
Ei ole väliä mitä syy, ulkonäkö 302 Found
omassa web-sovellus, on vahva osoitus siitä, että saatat tarvita virhe hallinnan työkalu auttaa sinua automaattisesti havaita tällaiset virheet tulevaisuudessa. Paras näistä työkaluista voi jopa hälyttää ja tiimisi heti kun virhe tapahtuu. Airbrake on virhe seuranta ohjelmisto tarjoaa reaaliaikaisen virhe seuranta ja automaattinen poikkeus raportointi kaikkiin kehityshankkeisiin., Airbrake on uusinta web kojelauta varmistaa, että saat pyöreän-kello tila päivitykset sovellus on terveys-ja virhemäärä. Riippumatta siitä, mitä olet tekemässä, Airbrake helposti integroituu kaikkiin suosituimpiin kieliin ja kehyksiin. Plus, Airbrake on helppo muokata poikkeus parametrit, antaen sinulle täyden kontrollin aktiivinen virhe suodatin järjestelmä, joten sinun tarvitsee vain kerätä virheet, jotka merkitsevät eniten.,
tutustu Airbrake on virhe seuranta ohjelmisto tänään ja näe itse, miksi niin monet maailman parhaista engineering joukkueet käyttävät Airbrake mullistaa niiden poikkeusten käsittely käytäntöjä!