.htaccess endurvísanir (301)
Búðu til 301 og 302 endurvísanir fyrir .htaccess eða Nginx, þvingaðu HTTPS og www, fluttu lén og lagaðu skástrik, með athugun á lykkjum og keðjum.
Taktu fyrst afrit af núverandi stillingum og prófaðu með 302 áður en þú skiptir í 301: vafrar geyma varanlegar endurvísanir í skyndiminni.
Athuganir
Engin vandamál fundust.
Hvernig á að nota .htaccess endurvísanaframleiðandann
- Veldu Netþjónn: Apache (.htaccess) eða Nginx, og síðan Tegund endurvísunar: 301 – varanleg eða 302 – tímabundin.
- Í Endurvísanir síðna (ein á línu: gömul slóð, svo ný vefslóð) skaltu skrifa eina endurvísun á hverja línu: gömlu slóðina, bil og nýju vefslóðina, til dæmis
/gomul-sida.html /ny-sida/. Tab, komma eða->virkar einnig, og þú getur límt inn fullar gamlar vefslóðir eða núverandiRedirect 301 /a /blínur. - Sláðu eftir atvikum inn Lénið þitt (valfrjálst) (til dæmis
example.com) svo endurvísanir síðna vísi beint á endanlega slóð. - Undir Aðalslóð (canonical) skaltu haka við Þvinga HTTPS og velja Þvinga www, Fjarlægja www eða Láta www vera eins og það er. Undir Skástrik í lokin skaltu velja hvort bæta eigi því við eða fjarlægja.
- Ef allt vefsvæðið flutti skaltu fylla út Flytja allt lénið með Gamla lénið og Ný slóð (heil vefslóð) og hafa Halda slóðinni hakað svo hver síða lendi á sinni samsvarandi.
- Lestu Athuganir, og Afrita eða Sækja síðan reglurnar. Notaðu Hlaða dæmi til að sjá heildarstillingu.
Hvernig búnar reglur virka
Fyrir Apache skrifar verkfærið mod_rewrite reglur, sem byrja á einu RewriteEngine On. Hver síða verður að RewriteRule þar sem mynstrið byrjar á ^/?, svo það virkar bæði í .htaccess skrá (þar sem upphafsskástrikið er fjarlægt) og í <VirtualHost> blokk. Punktar, hornklofar, plúsmerki og aðrir stafir reglulegra segða í slóðunum þínum eru umkóðaðir og bil verður að \x20. Í nýju vefslóðinni eru $ og % umkóðuð því Apache læsi þau sem bakvísanir, og NE flaggið kemur í veg fyrir að Apache kóði slóðina í annað sinn.
RewriteRule sér aldrei fyrirspurnarstrenginn. Þegar gömul slóð inniheldur slíkan, eins og /product.php?id=42, bætir verkfærið við RewriteCond %{QUERY_STRING} ^id=42$ línu og QSD flagginu, svo gömlu stikarnir falla niður í stað þess að vera afritaðir á nýju síðuna.
Reglunum er raðað til að forðast óþarfa stökk: lénaflutningur fyrst, svo endurvísanir síðna, svo skástrik í lokin, og loks HTTPS og www. HTTPS og www eru meðhöndluð með einni reglu, svo http://www.example.com fer á https://example.com í einni endurvísun. Þegar lénið þitt er þekkt vísa endurvísanir síðna og skástrika þegar á endanlega HTTPS slóð.
Fyrir Nginx verða HTTPS, www og lénaflutningar að aðskildum server blokkum með return 301, og endurvísanir síðna verða að rewrite línum sem þú límir inn í aðal server blokkina þína. Þær keyra áður en location er pöruð, svo þær ganga líka framar reglunni um skástrik í lokin. ? aftast í áfangastað kemur í veg fyrir að Nginx bæti gamla fyrirspurnarstrengnum við þegar það á ekki að gera það.
Athuganir sem eru framkvæmdar
- Síða sem vísar á sjálfa sig, eða tvær síður sem vísa hvor á aðra (lykkja sem endar í „too many redirects“).
- Keðjur eins og A → B → C: láttu A vísa beint á C, því hvert aukastökk hægir á gestum og sóar skriðkvóta.
- Sama gamla slóðin skráð tvisvar, þar sem aðeins fyrsta reglan myndi gilda.
- Áfangastaður sem er hvorki heil vefslóð né slóð sem byrjar á
/, eðahttp://eða rangt www áfangastaður á þínu eigin léni. - Stilling á skástriki í lokin sem myndi vísa áfangastað aftur áfram eða senda hann aftur á upptökin.
Algengar spurningar
Á ég að nota 301 eða 302?
Notaðu 301 þegar flutningurinn er varanlegur: leitarvélar færa merki gömlu síðunnar yfir á þá nýju og uppfæra vísi sinn. Notaðu 302 fyrir tímabundnar breytingar eins og viðhald eða stutta herferð. Vafrar geyma 301 endurvísanir í skyndiminni, svo prófaðu fyrst með 302.
Hvar set ég .htaccess skrána?
Í rótarmöppu vefsvæðisins (oft public_html eða www), við hliðina á index.php eða index.html. Niðurhalaða skráin heitir htaccess.txt; endurnefndu hana í .htaccess, eða límdu reglurnar efst í núverandi skrá. Taktu afrit af upprunalegu skránni.
Af hverju RewriteRule í stað Redirect 301?
Redirect línur koma frá mod_alias og keyra í öðrum áfanga en RewriteRule. Að blanda báðum í eina skrá gerir röðina erfiða að sjá fyrir. Með því að nota aðeins mod_rewrite eru allar reglur í einni fyrirsjáanlegri röð og hægt er að para fyrirspurnarstrengi.
Vefsvæðið mitt sýnir „too many redirects“ eftir að ég þvingaði HTTPS. Hvers vegna?
Á bak við álagsjafnara, CDN eða milliþjón sem lýkur HTTPS sér Apache hverja beiðni sem venjulegt HTTP, svo %{HTTPS} er alltaf af. Prófaðu þá framsenda hausinn í staðinn, til dæmis RewriteCond %{HTTP:X-Forwarded-Proto} !https, eða virkjaðu endurvísunina í CDN-inu.
Breytir þetta verkfæri netþjóninum mínum?
Nei. Það býr aðeins til texta í vafranum þínum. Ekkert er sent neitt og þú stjórnar sjálf(ur) hvar og hvernig reglurnar eru settar upp.
Tengd verkfæri
- Robots.txt framleiðandi Búðu til gilda robots.txt skrá með user-agent hópum, Allow og Disallow reglum, sitemap-slóðum og crawl-delay, með athugun á algengum mistökum.
- Hreflang-framleiðandi Búðu til hreflang-tög fyrir fjöltyngdar síður sem HTML link-tög, XML sitemap-færslur eða HTTP Link-hausa, með athugun á ISO-kóðum og gagnkvæmni.
- Meta-tagaframleiðandi Ókeypis framleiðandi meta-taga fyrir titil, meta-lýsingu, canonical-slóð, robots og viewport, með lengdarathugun og rétt umkóðuðu HTML.
- URL-kóðun og afkóðun Ókeypis URL-kóðari og afkóðari. Prósentukóðaðu leitarfæribreytur eða heilar vefslóðir, afkóðaðu %XX-runur og meðhöndlaðu + sem bil, í vafranum.