Kuidas kasutada 301 ümbersuunamisi. Konkreetse faili keelamine

💖 Kas sulle meeldib? Jaga linki oma sõpradega

301. ümbersuunamine (ümbersuunamine) kohtab kindlasti saidipeeglite ühendamisel WWW-eesliitega ja ilma, saidi teisaldamisel uude domeeni HTTP-lt HTTPS-ile, lehe teisaldamisel mõnda teise saidi jaotisse ja selle muutmisel. aadress. Kõigil neil juhtudel on oluline säilitada positsioone ja liiklust, suunates see uutele lehtedele. Kuidas seda teha? Pakume tehnilisi juhiseid.

HTTP olekukood 301 (Püsivalt teisaldatud või 301 ümbersuunamine) on standardne, mis näitab, et taotletud ressurss on teisaldatud ja saanud uue URL-i.

SEO jaoks on 301 ümbersuunamine oluline, kuna see võimaldab teil välistada otsingutulemused vana URL ja asendage see uuega, ilma et leht kaotaks kaalu ja vastavalt oma positsiooni halvendaks.

Saate seadistada 301 ümbersuunamise erinevatel viisidel(Koos HTML-i kasutades, PHP, CMS-i pistikprogrammid, skriptid), kuid kõige usaldusväärsem ja lihtsam valik on .htaccess (Apache jaoks) või web.config (IIS-i jaoks).

301 ümbersuunamise seadistamine failis .htaccess

Htaccess on Apache veebiserveri täiendav konfiguratsioonifail, mida saab kasutada seadete määramiseks üksikute kataloogide tasemel. Erinevalt peamisest konfiguratsioonifailist httpd.conf kehtivad faili .htaccess juhised ainult kataloogile, kus see asub, ja alamkataloogidele.

Kui teie saidi juurkaustas pole .htaccess-faili, peate selle FTP-kliendi abil looma ja üles laadima. Nüüd saate alustada seadistamist.

Kui teil on vaja praeguselt domeenilt teisele suunata (näiteks saidi teisaldamisel), saate kasutada mooduli mod_alias käske. Lisage failile .htaccess järgmine direktiiv (newsite.ru asemel määrake oma uus domeen):

Alaline ümbersuunamine / http://newsite.ru/

Ümbersuunamine 301 / http://newsite.ru/

Siin on veel mõned näited 301 ümbersuunamise seadistamisest.

Suuna ümber lehelt page1.html lehele page2.html:

Suuna 301 /page1.html site.ru/page2.html ümber

Suuna ümber avaleht sait /cat kataloogi lehele:

Ümbersuunamine 301 / site.ru/cat

Suunake /cat kataloogist ümber põhikataloogi:

Suuna ümber 301 /cat site.ru

Peeglite kokku liimimiseks kasutatakse sageli ümbersuunamist. Sel juhul kasutatakse moodulit mod_rewrite. Näiteks kui soovite, et toimuks ümbersuunamine, siis kirjutage järgmised read (kus yoursite.ru- teie domeen):

RewriteEngine sees
RewriteCond %(HTTP_HOST) ^www.yoursite.ru$
RewriteRule ^(.*)$ http://yoursite.ru/$1

Ja vastupidi – suunake domeenist ilma www-ta domeenile, millel on www:

RewriteEngine sees
RewriteCond %(HTTP_HOST) ^ yoursite.ru
RewriteRule (.*) http://www.yoursite.ru/$1

Suunake kõik saidi lehed ümber, kui:

RewriteEngine sees
RewriteCond %(SERVER_PORT) !^443$
RewriteRule .* https://%(SERVER_NAME)%(REQUEST_URI)

Kui see ei tööta, võite proovida järgmist valikut:

RewriteEngine sees
RewriteCond %(HTTPS) =väljas
RewriteRule (.*) https://%(HTTP_HOST)%(REQUEST_URI)

301 ümbersuunamisi kasutatakse ka dubleerivate lehtede vastu võitlemiseks. Toome paar näidet.
Sest otsingumootorid URL http://www.yoursite.ru/ ja http://www.yoursite.ru on erinevad. Seetõttu peate otsustama, millist tüüpi kasutada: kas lõpus kaldkriipsuga või ilma. URL-i lõpust kaldkriipsu eemaldamiseks kirjutage järgmine reegel:

RewriteEngine sees
RewriteCond %(HTTP_HOST) (.*)
RewriteCond %(REQUEST_URI) /$
Ümberkirjutamise reegel ^(.*)(/)$ 1 $

Kaldkriipsu saate lisada järgmiselt:

RewriteEngine sees
RewriteCond %(REQUEST_FILENAME) !-f
RewriteCond %(REQUEST_URI) !(.*)/$
Ümberkirjutamise reegel ^(.*[^/])$1/

Kõigi htm-failide asendamiseks html-failidega kirjutage järgmised read:

RewriteEngine sisse lülitatud
RewriteBase /
RewriteRule ^(.*)\.htm$ $1.html

Kui kirjutate mitu käsku, määratakse rida “RewriteEngine on” üks kord - selle abiga lubatakse mod_rewrite moodul.

Kui loote .htaccess-faili nullist, määratakse kõik käsud järgmistel ridadel:



Näiteks näeb .htaccess-fail välja selline kahe ümbersuunamisega: www-lt ilma www-ta ja kaldkriipsuta lehtedelt kaldkriipsuga lehtedele:

Ümbersuunamise seadistamine saidil web.config

Ümbersuunamisvalik .htaccessi abil töötab ainult Apache puhul. IIS-i veebiserveri jaoks peate konfigureerima ümbersuunamise failis web.config. Näiteks ümbersuunamine ühelt lehelt (yoursite.ru/page.html) teisele (yoursite.ru/page2.html) näeb välja selline:








301 ümbersuunamise domeenilt www-ga domeenile, millel puudub www, saab konfigureerida järgmiselt:















Alternatiivsed viisid edastamise seadistamiseks

Kui mingil põhjusel ei saa te faili web.config või .htaccess luua ja redigeerida (näiteks hostimispiirangute tõttu) või vajate saadud andmete teatud töötlemist, nende muutmist või kontrollimist, mille tulemuste põhjal rakendatakse ümbersuunamist, saate konfigureerida ümbersuunamise PHP abil.

Süntaks on järgmine:

Sel juhul on sunnitud edastama HTTP-vastuskood 301 ja kasutaja suunatakse lehele http://newsite.ru/.

Kui teil on väike, paari leheküljega sait, saab ümbersuunamise teha HTML-i abil:

Numbrit 0 muutes määrate ümbersuunamisele eelnenud sekundite arvu. Sel juhul ei rakendata ümbersuunamist mitte serveri, vaid kliendi poolel (301 päist ei edastata).

Ümbersuunamise saate teha ka JavaScripti abil:


window.location.replace("newsite.ru");

Sel juhul ei saadeta ka 301 päist Ja kui kasutajal on brauseris JavaScripti tugi keelatud, siis ümbersuunamine ei toimi.

Ümbersuunamiseks on lugematu arv võimalusi. Saate oma tööd lihtsustada ümbersuunamisgeneraatorite abil. Need on võrguteenused, mis väljastavad valmiskoode – peate lihtsalt märkima, kuhu ja kuhu kasutaja ümber suunata. Siin on mõned neist teenustest: www.webconfs.com, www.rapidtables.com, www.htaccessredirect.net.

Kuidas seadistada ümbersuunamist, kui teil pole veebiprogrammeerimise kogemust?

Ümbersuunamise seadistamine on keeruline tehniline ülesanne, mis nõuab eriteadmisi. Kui sul puuduvad arendus- ja programmeerimisoskused ning sul pole käepärast täiskohaga programmeerijat, saad kasutada hostingu pakkujate tuge. Paljud neist pakuvad veebiedastusteenuseid (või "domeeni suunamist", "URL-i edastamist" jne). See võimaldab teil seadistada ümbersuunamisi ühelt URL-ilt teisele. See kasutab 301 ümbersuunamist.

Teine võimalus on populaarse CMS-i jaoks. Seega on WordPressi jaoks olemas pluginad Redirection, Safe Redirect Manager, Simple 301 Redirects ja Joomla! ja seal on sisseehitatud ümbersuunamistööriistad.

Kas pole kindel, kas saate ise ümbersuunamisi õigesti konfigureerida? Parem on mitte riskida – professionaalsed veebimeistrid teevad PromoPulti süsteemides kõik teie eest ära.

Järeldus

Parim viis 301 ümbersuunamise seadistamiseks on kasutada faili .htaccess. Kuid see sobib ainult Apache veebiserveritele. IIS-i jaoks peate konfigureerima web.config. Kui teil pole vaja lihtsalt ümbersuunamist teha, vaid arvestada teatud tingimustega, siis kasutage PHP-d, kuid sel juhul ei saa te ilma programmeerija abita hakkama.

On ka teisi viise (eelkõige HTML-i ja JavaScripti kasutades), kuid see ei ole 301 ümbersuunamine, vaid lihtsalt ümbersuunamine ilma kaaluta. Võite kasutada ka populaarsete CMS-i pistikprogramme või luua ühenduse veebiedastusteenusega, kui seda pakub teie hostiteenuse pakkuja.

Ümbersuunamine on meetod kasutajate ja otsingurobotite ümbersuunamiseks URL-ile, mis erineb algselt taotletud URL-ist. Ümbersuunamisi on mitut tüüpi, millest mõned on loetletud allpool.

301 Kolis alaliselt

301 on püsiv ümbersuunamine, mis näitab, et soovitud leht asub uuel aadressil ja vana tuleks lugeda aegunuks. Seda tüüpi ümbersuunamine kannab 90–99% lingi massist uuele URL-ile.

Domeeni kanoniseerimine või liimimine

Domeeni www-st ühendamiseks ilma www-ga:

RewriteCond %(HTTP_HOST) ^www.site\.com$ RewriteRule ^(.*)$ http://site.com/$1

Domeeni ühendamiseks ilma www-ta domeeniga www-ga:

RewriteCond %(HTTP_HOST) ^site\.com$ RewriteRule ^(.*)$ http://www.site.com/$1

Õige liimimismeetodi valimiseks peate arvestama järgmiste teguritega:

  • Millise variandi indekseerimine on suurem;
  • Milline valik on otsingutulemustes kõrgemal kohal;
  • Kaldkriipsu kanoniseerimine pöördumise lõpus.

Veebisaidi projekti loomisel tuleb otsustada, kas kasutada aadressi lõpus kaldkriipsu. Otsingumootorite jaoks sellised aadressid nagu:

  • http://www.site.com/category1
  • http://www.site.com/category1/

Need on erinevad URL-id. Seega, kui otsustate, millist tüüpi aadresse teie saidil kasutada, peate lõpust kaldkriipsu eemaldamiseks kirjutama järgmise koodi:

RewriteCond %(HTTP_HOST) (.*) RewriteCond %(REQUEST_URI) /$ RewriteRule ^(.*)(/)$ $1

või see lisamiseks:

RewriteCond %(REQUEST_FILENAME) !-f RewriteCond %(REQUEST_URI) !(.*)/$ RewriteRule ^(.*[^/])$ $1/

301 ühelt lehelt teisele suunamiseks:

Ümbersuunamine 301 /oldpage.html http://www.site.com/uusleht.html

Veendumaks, et kui taotlete mis tahes põhilehe versiooni, tehke järgmist. default.htm või index.html, suunatakse ümber kanoonilisele lehele http://www.site.com, peate sisestama järgmise ümbersuunamiskoodi:

RewriteCond %(THE_REQUEST) ^(3,9)\ /([^/]+/)*(vaikimisi|indeks|peamine)\.(html|php|htm)\ HTTP/ RewriteRule ^(([^/]+ /)*)(vaikimisi|peamine|indeks)\.(html|php|htm)$ http://www.site.com/$1

Kataloogi ümbersuunamine

Kui teie aadress kuvab kataloogistruktuuri, muutub muudatuste korral ka teie aadress. Seetõttu peate kirjutama järgmise ümbersuunamise:

RewriteRule ^(.*)/vana-kataloog/(.*)$ $1/uus-kataloog/$2

Kuid juhtub, et vana kataloogi aadress kuvatakse kohe pärast domeeninime, näiteks www.site.com/old-catalog/. Sel juhul kasutatakse järgmist koodi:

RewriteRule vana kataloog /(.*) / vana kataloog /$1

Faililaiendite muutmisel suuna ümber

CMS-i muutmisel muutuvad tavaliselt ainult faililaiendid. Sel juhul lehtede kanooniliseks muutmiseks peate kasutama järgmist koodi:

RedirectMatch 301 (.*)\.php$ http://www.site.com$1.html

Kui kuvatakse mitu kaldkriipsu või kriipsu, suunake ümber

Autor erinevatel põhjustel Juhtub, et aadressi ilmuvad täiendavad kaldkriipsud või kriipsud, näiteks www.site.com/catalog////page-1.html. Sellised lehed tuleb suunata ühe kaldkriipsuga aadressidele.

RewriteCond %(REQUEST_URI) ^(.*)//(.*)$ RewriteRule . %1/%2

Samamoodi eemaldatakse aadressist lisakriipsud, näiteks muutes aadressi www.site.com/catalog/page-1.html aadressile www.site.com/catalog/page-1.html.

RewriteCond %(REQUEST_URI) ^(.*)-(.*)$ RewriteRule . %1–%2

.htaccess – domeeninime järel lisakriipsud

  • http://site.com//////catalog

Kõik need kaldkriipsud eemaldada, et oleks ümbersuunamine ilma kaldkriipsudeta lehele, st.

  • http://site.com/catalog

Peate kirjutama:

RewriteCond %(REQUEST_URI) ^(.*)//(.*)$ RewriteRule . %1/%2

301 ümbersuunamise genereerimine

Kui tehnilistest teadmistest oma koodi kirjutamiseks ei piisa, on kõigi peamiste ümbersuunamiste genereerimiseks spetsiaalsed teenused:

Siin saate sisestada oma andmed ja kohe vastu võtta nõutav kood. Toetatakse domeenide, URL-ide ja kataloogide ümbersuunamisi.

Kuidas kontrollida 301 ümbersuunamist?

Pärast ümbersuunamise loogilises osas muudatuste tegemist peate kontrollima selle funktsionaalsust. Käsitsi testimiseks vajate:

  • Et kontrollida, kas sait üldse töötab - minge selle avalehele;
  • Liikuge saidil, selle jaotistes ja üksikutel lehtedel ringi.

Kuid on ka teenuseid ümbersuunamiste automaatseks kontrollimiseks:

  • http://bertal.ru – väga üksikasjalikud andmed kõigi serveri vastuste kohta

301 ümbersuunamiste kasutamise reeglid võrreldes Canonicaliga

Otsingumootor Google'i süsteem kehtestab selged reeglid, ainult siis, kui neid järgitakse, tõlgendab ta teie tegevust õigesti. Otsingumootorid 301 ja Canonical mõistavad seda sõna otseses mõttes järgmiselt:

  • – see leht on aegunud, uus leht asub sellisel ja sellisel aadressil. Palun teil vana leht registrist eemaldada ja uus indekseerida ning kogu vana kaal sellele täielikult üle kanda.
  • Kanooniline – lisaks sellele lehe versioonile on mul ka teisi. Kuid palun indekseerige ainult see, millel Canonical seisab. Teised versioonid on inimestele vaatamiseks olemas, kuid te ei pea neid registrisse lisama. Kogu kaal tuleks Canonicaliga lehele üle kanda.

301 ümbersuunamise kasutamise eelistused

Tavaliselt on see kõige eelistatum meetod:

  • Üksikute lehtede jaoks - kui selle aadress on igaveseks muutunud;
  • Domeenide puhul – kui sait asub püsivalt uuel domeenil;
  • 404 lehtede ja lehtede jaoks, mille sisu pole enam asjakohane. Näiteks toote kataloogist kustutamisel saate suunata ümber sarnaste funktsioonidega tootele või seda tüüpi tootega kataloogilehele.

Millal on parem 301 ümbersuunamist mitte kasutada?

  • Kui nende rakendamine on võimatu või võtab see ebamõistlikult kaua aega.
  • Kui sisu on kahel lehel dubleeritud, kuid need mõlemad peavad teatud erinevuste tõttu (näiteks riiete suurus) olema kasutajale kättesaadavad.
  • Kui ühel lehel on mitu URL-i (kataloogi sorteerimine erinevate kriteeriumide järgi).
  • Domeenidevahelistel juhtudel, kui kahe aadressi sisu saab dubleerida, kuid see peab olema igas domeenis.

Kas postitus meeldis? Klõpsake nuppudel →

301 ümbersuunamine või 301 alaline ümbersuunamine on reegel, mis suunab kasutaja automaatselt teisele leheaadressile. Selle abiga saate liita vanu lehti uutega või teisaldada saidi teisele domeenile, eemaldada saidilt palju duplikaate ja palju muud. Äärmiselt kasulik asi - seega peate õppima, kuidas seda õigesti teha!

Samuti liidetakse 301 ümbersuunamisega TCI (loe) ja PR – st. saate salvestada vana väärtuse uude aadressi. Otsingumootorite silmis ei pruugi te üldse kaotada. Liigume teoorialt praktikale.

Kuidas htaccessis 301 ümbersuunamist seadistada

Fail nimega .htaccess asub teie saidi põhikategoorias. See on teenindusfail, milles täpsustame liimimise reeglid. Ava fail notepadiga (kodeerimisega seotud probleemide vältimiseks soovitan notepad++). Ärge unustage, et see on üks olulisi punkte.

Üldine .htaccessi mall, mida kasutame:

Valikud +FollowSymLinks RewriteEngine Sisse #Siin täpsustame reeglid

Kõik reeglid on kirjutatud kujul:

RewriteCond [võrdlus] [tingimus] [lipud] RewriteCond [võrdlus] [tingimus] [lipud] RewriteRule [muster] [asendamine] [lipud]

Nüüd käsitleme otse ümbersuunamist ja vaatame konkreetseid näiteid.

Olen sellest juba artikli kirjutanud, kuid igaks juhuks teen siin kokkuvõtte, et teil oleks lehe kasutamine mugavam.

Näited 301 ümbersuunamise kasutamisest. Ümbersuunamine saidilt index.php avalehele

Selle seadistamiseks peate oma faili kirjutama järgmise koodi, mis suunab külastajad saidilt site.ru/index.php saidile site.ru:

RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP RewriteRule ^index\.php$ http://site.ru/

Kui teil on vaja ka ümber suunata saidilt index.html, siis lihtsalt asendage .php ülaltoodud koodis .html-ga

Saidi varjunimede liimimine

Kui teil on mitu domeeni ja soovite need kõik põhisaidile ümber suunata, siis kasutame:

RewriteCond %(HTTP_HOST) ^vash-sait.com$ RewriteCond %(HTTP_HOST) ^www.vash-sait.com$ RewriteCond %(REQUEST_URI) !^/robots.* RewriteRule ^(.*)$ http://vash- sait.ru/$1

Pöörake tähelepanu kahele esimesele reale, see tähistab peeglit saidil zone.com, kui teil on veel üks või mitu tsooni, lisage reeglid.

Ümbersuunamine www-st ilma www-ta

Olen seda meetodit juba varem kirjeldanud, kuid kordan seda. Peeglite liimimiseks ja põhidomeeni valimiseks ilma www-ta kirjutame:

RewriteCond %(HTTP_HOST) ^www.site\.ru$ RewriteRule ^(.*)$ http://site.ru/$1

Ümbersuunamine domeenist, millel pole www-d, domeenile, millel on www

See toiming on vastupidine eelmisele, siin on ainult peamine peegel www.site.ru:

RewriteCond %(HTTP_HOST) ^site\.ru$ RewriteRule ^(.*)$ http://www.site.ru/$1

301 lehekülgede ümbersuunamine kaldkriipsuga ja ilma

See on teist tüüpi duplikaat, siin ühendame lehed site.ru/category/ ja site.ru/category, nagu näete, teise URL-i lõpus pole kaldkriipsu:

RewriteCond %(REQUEST_FILENAME) !-d RewriteCond %(REQUEST_URI) ^(.+)/$ RewriteRule ^(.+)/$ /$1

Kui, vastupidi, peate URL-i lõppu jätma kaldkriipsu, vajate seda valikut:

RewriteBase / RewriteCond %(REQUEST_FILENAME) !-f RewriteCond %(REQUEST_URI) !(.*)/$ RewriteRule ^(.*[^/])$ $1/

Kui teil on mingil põhjusel sellised URL-id nagu site.ru/category//article.html, kasutage koodi:

RewriteCond %(REQUEST_URI) ^(.*)//(.*)$ RewriteRule . %1/%2

kus “//” saab asendada “-” või mis tahes topeltmärgiga URL-is.

Massikategooria asendamine

Juhtub, et nimetasite kategooria ümber, kuid sellele on määratud tuhandeid URL-e. Tuhandete identsete ümbersuunamiste kirjutamise ajal vananemise vältimiseks kasutage järgmist:

Ümberkirjutamise reegel ^(.*)/vana kategooria/(.*)$ $1/uus kategooria/$2

RewriteRule vana kategooria /(.*) / vana kategooria /$1

Suuna ümber uus leht

Lihtsaim ümbersuunamine lehelt lehele, kirjutage see järgmiselt:

Ümbersuunamine 301 /old-post.html http://new-site.ru/new-post.html

Kus old-post.html on teie vana leht ja new-site.ru/new-post.html on uus leht ning see võib asuda mis tahes domeenis (sh teie praegune domeen).

Parameetritega URL-i ümbersuunamine

Parameetritega lehti on keerulisem ümber suunata, võtke näiteks http://site.ru/page.php?sort=articles. Siin on parameeter "sort=articles". Kood on järgmine:

RewriteCond %(QUERY_STRING) sort=articles RewriteRule .* http://site.ru/page.php?

Laiendustega töötamine

Eemaldame URL-ist .html (.php eemaldamiseks ärge unustage asendada $1.html $1.php-ga):

Ümberkirjutamise reegel ^(([^/]+/)*[^.]+)$ /$1.html [L]

Muudame URL-ides .php .html-ks ja vastupidi (ärge unustage koodis kohti vahetamast):

RedirectMatch 301 (.*)\.php$ http://www.site.com$1.html

Parandage 301 ümbersuunamine uude domeeni

Tõstsin selle punkti eraldi esile, sest... see on rohkem seotud teise domeeni üleviimisega. Siin on oluline punkt: ärge jätke tähelepanuta robotite redigeerimise direktiivi - see on märgitud koodi real 3.

RewriteCond %(REQUEST_FILENAME) robots.txt$ RewriteRule ^([^/]+) $1 [L] RewriteCond %(HTTP_HOST) ^site\.ru RewriteRule ^(.*)$ http://new-site.ru/$1 RewriteCond %(HTTP_HOST) ^www.site\.ru RewriteRule ^(.*)$ http://new-site.ru/$1

Selliste lihtsate mahhinatsioonide abil vabaneme dubleerivatest lehtedest, parandades seeläbi oma sisemist optimeerimist ja vastavalt ka saidi kvaliteeti.

Kui teil on küsimusi, kirjutage kommentaaridesse - lahendame need :)

Veakood 301 (jäävalt teisaldatud) tähendab, et leht või kogu sait on teisaldatud uuele püsivale URL-ile. Kasutatakse lingi omakapitali edastamiseks. Kontrollige kindlasti, millise veakoodi server selle ümbersuunamise seadistamisel annab. Selleks kasutan näiteks imelist Firebugi pluginat Firefoxile.

Kui teil on Linuxi Apache veebiserver, 301 ümbersuunamiste seadistamine toimub .htaccess-failis. Ja Windows IIS-i veebiserveri puhul on selleks fail web.config.

301 ümbersuunamised erinevatel CMS-idel, nagu wordpress, Bitrix, Drupal, dle, modx, joomla, opencart jt, konfigureeritakse spetsiaalsete pluginate abil, samuti tavapärasel viisil htaccessi või web configi kaudu.

Põhioperaatorid regulaaravaldised

Enne .htaccess-failis õigete 301 ümbersuunamiste seadistamist peate selgelt eristama peamised regulaaravaldise operaatorid (erimärgid, modifikaatorid, lipud):

erimärgid:

  • ^ — vasakpoolne piir (rea algus);
  • $ — piirang paremale (rea lõpp);
  • .
  • - mis tahes sümbol;
  • () - muutuja;
  • \ — põgenemine (märki \ järel loetakse tavamärgiks, mitte erimärgiks);
  • — väärtuste vahemik;

!

  • — eriline eituse iseloom;
  • modifikaatorid:
  • ?
— sümbolit korratakse 0 või 1 kord;

+ — 1 või enam tähemärki (kuni 65536);
* - 0 või enam tähemärki (kuni 65536);

301 ümbersuunamiste seadistamine htaccess- ja web.config-failides

Avaldan siin ainult 301 ümbersuunamiste tõestatud ja tehniliselt täielikud töötavad versioonid. Uuendatakse 301 ümbersuunamiste töövõimaluste andmebaasi.

Ümbersuunamine vanalt staatiliselt (cnc) lehelt uuele lehele:

Suuna kodust ümber siseleht:

RewriteEngine on RewriteCond %(HTTP_HOST) ^www\.seowind\.ru$ RewriteRule ^$ https://www.site/baza-znanij-seo/nastrojka-301-redirekta/

Ümbersuunamine saidi WWW-ga lehtedelt lehtedele, millel puudub WWW:

RewriteEngine on RewriteCond %(HTTP_HOST) ^www\.seowind\.ru$ RewriteCond %(REQUEST_URI) !^/robots.* RewriteRule ^(.*)$ http://site/$1

Ümbersuunamine saidi lehtedelt ilma WWWta WWW-ga lehtedele:

RewriteEngine on RewriteCond %(HTTP_HOST) ^seowind\.ru$ RewriteCond %(REQUEST_URI) !^/robots.* RewriteRule ^(.*)$ https://www.site/$1

Järgmine näide võimaldab eemaldada URL-i lõpust kaldkriipsu.

301 ümbersuunamine kaldkriipsuga lehtedelt ilma selleta lehtedele:

RewriteCond %(REQUEST_FILENAME) !-d RewriteCond %(REQUEST_URI) ^(.+)/$ RewriteRule ^(.+)/$ /$1

Ja siin lisame URL-i lõppu kaldkriipsu:

RewriteCond %(REQUEST_FILENAME) !-f RewriteCond %(REQUEST_URI) !(.*)/$ RewriteRule ^(.*[^/])$ $1/

301 ümbersuunamine indeks.php-lt avalehele:

RewriteEngine on RewriteCond %(THE_REQUEST) ^(3,9)\ /index\.php\ HTTP/ RewriteRule ^index\.php$ https://www.site/

Suunake kõik sisemised lehed avalehele:

RewriteEngine on RewriteCond %(ENV:REDIRECT_STATUS) ^$ RewriteRule !(^$|.*\.(css|jpg|gif)) /

Suunake URL parameetriga ümber saidi mis tahes siselehele: (näiteks lehelt http://www.site.ru/news.php?category=1 aadressile http://www.site.ru/news .php?category=2 (siin parameetri kategooria=)):

RewriteEngine on RewriteCond %(QUERY_STRING) category=1 RewriteRule ^news.php http://www.site.ru/news.php?category=2

URL-i suunamine parameetriga saidi avalehele: (Näiteks http://site.ru/index.php?show_section=12 avalehele http://site.ru/ (siin on parameeter show_section=12)):

RewriteEngine on RewriteCond %(QUERY_STRING) show_section=12 RewriteRule ^index.php http://site.ru/?

Ümbersuunamine vanalt domeenilt uude (kirjutame selle vana saidi htaccessi):

RewriteEngine on RewriteCond %(HTTP_HOST) ^www\.siteold\.ru$ RewriteRule ^(.*)$ http://sitenew.ru/$1 RewriteCond %(HTTP_HOST) ^siteold\.ru$ RewriteRule ^(.*)$ http://sitenew.ru/$1

Suunake RF domeenist ümber RU domeeni. Siinkohal on oluline teada, et Vene Föderatsiooni tsoon teisendatakse .xn--p1ai-ks ja kirillitsa domeeni nimi ise vastavaks koodiks (punycode) ladina tähestikus xn-….

RewriteCond %(HTTP_HOST) ^xn-...\.xn--p1ai$ RewriteRule ^(.*)$ https://www.site/$1

301 kataloogi ümbersuunamine:

RewriteRule ^(.*)/vana-kataloog/(.*)$ $1/uus-kataloog/$2

Tõenäoliselt olete oma praktikas kohanud juhtumit, kus on kaks saiti, millel on sama teave, kuid samal ajal juurdepääsetavad erinevatel aadressidel (dublikaatsaidid). Nendel saitidel on sama fail robots.txt, sitemap.xml ja sama .htaccess. Pakun välja 301 ümbersuunamise võimaluse mittepõhisaidilt (sait2) põhisaidile (sait1):

RewriteEngine On RewriteCond %(HTTP_HOST) ^site2.ru$ RewriteCond %(HTTP_HOST) ^www.site2.ru$ RewriteCond %(REQUEST_URI) !^/robots.* RewriteRule ^(.*)$ http://www.site1. ru / $ 1

Lisa, mis sisaldab kõiki ümbersuunamisi registri|vaikelehtedelt htm|html|php|asp|aspx laienditega avalehele:

RewriteEngine On RewriteCond %(THE_REQUEST) ^GET\ .*/(index|default)\.(htm|html|php|asp|aspx)\ HTTP RewriteRule ^(.*)(index|default)\.(htm|html |php|asp|aspx)$ http://www.site.ru/$1

Sageli tuleb veebiarenduses teha ümbersuunamisi ühelt (näiteks aegunud) lehelt teisele. Samal ajal saab ümbersuunamist teostada erinevate meetoditega – nii lehe kaalu vähenemisega kui ka ilma. Aga sellest lähemalt.

Nagu teate, indekseeritakse iga leht aja jooksul ja sellel on võrgus oma kaal. Kui leht muutub enam aktuaalseks, saab selle loomulikult kustutada, kuid sellel klõpsanud kasutajad satuvad saidi olematule jaotisele ja lahkuvad sealt lõpuks. Õigemaks peetakse sellistel lehtedel 301 ümbersuunamist saidi asjakohastele jaotistele. Esiteks ei näe kasutaja viga ja kaalu vana leht viiakse täielikult üle uude.

Lehekülje ümbersuunamist saab teha erinevate meetoditega. Vaatame peamisi.

301 ümbersuunamine .htaccessi kaudu

Teie saidi juurtes on fail (kui seda pole, looge see) nimega .htaccess. Avage see redigeerimiseks ja kasutage ühte järgmistest meetoditest.

Alaline ümbersuunamine ja 301 ümbersuunamine – teeb hõlpsalt 301 ümbersuunamise ühelt lehelt teisele (või saidile). Esimene on vana saidi link (märkus - ilma domeenita), teine ​​on link uuele lehele (mis võib olla sama sait või täiesti uus).

Näited:
Alaline ümbersuunamine /staraya-stranica.php http://newsait.ru/novaya-stranica.php
(siin suuname lihtsalt aegunud lehelt uuele)

Ümbersuunamine 301 / http://newsait.ru/
(siin / tähendab, et kõik, mis algab saidi pealehelt ja kõik selle alamlehed (alamkataloogid), suunatakse uude domeeni; st tegelikult suunatakse sellelt domeenilt teisele.)

RewriteRule'i ümbersuunamine on varasematest valikutest keerukam ümbersuunamine. Nõuab, et moodul mod_rewrite oleks õigeks tööks hostiga ühendatud (tavaliselt alati lubatud). Seda meetodit kasutatakse sageli lehtede www-lt ümbersuunamiseks samadele ilma www-ta ja tagasi. Vaatame neid:

Domeeni ümbersuunamine www-st mitte-www-le
Valikud +FollowSymLinks
RewriteEngine sees
RewriteCond %(HTTP_HOST) ^www\.(.*)
Ümberkirjutamise reegel ^(.*)$ http://%1/$1

Ümbersuunamine mitte-www-lt domeenile, millel on www
RewriteEngine sees
RewriteCond %(HTTP_HOST) !^www\.(.*)
Ümberkirjutamise reegel ^(.*)$ http://www.%1/$1

301 ümbersuunamine domeenilt domeenile ja erand lingi /market/vm2_market.xml jaoks. Need. kõik päringud (v.a /market/vm2_market.xml) vanast domeenist uude täidetakse.

RewriteEngine sisse lülitatud

301 Kõik päringud (välja arvatud /market/vm2_market.xml ja link /texts (ja kõik selle "alllingid")) vanast domeenist uude täidetakse. Siin töötab ka konkreetse alamlingi ümbersuunamise reegel (RedirectMatch 301).

RewriteEngine sisse lülitatud
RedirectMatch 301 ^/texts/data/msg/(.*)\.png$ http://olddomen.ru/texts/data/rimage/msg.php?id=$1
RewriteCond %(REQUEST_URI) !^/texts*
RewriteCond %(REQUEST_URI) !^/market/vm2_market.xml$
RewriteRule ^(.*)$ http://newdomen.ru/$1

RedirectMatch 301 on veel üks hea ümbersuunamismeetod, see sarnaneb Redirect 301-ga, kuid sellel on rohkem funktsioone. Nimelt saab sellega teha regulaaravaldiste põhjal ümbersuunamisi.

Näited:
RedirectMatch 301 ^/vana kataloog/ http://site/uuskataloog/
(Siin suunatakse kogu kataloog uude kataloogi)

RedirectMatch 301 ^(.*)$ http://sait
(Juhib kõik lehed vanast domeenist uuele, kasutades 301 ümbersuunamist (kaal kantakse ka uuele saidile))

RedirectMatch 301 (.*)\..php
(lehtede muutmine html-laiendilt php-laiendiks)

RedirectMatch 301 /dirA/(.*)\..php
(Käivitab ümbersuunamise kataloogist dirA kataloogi dirB ainult siis, kui pääsete juurde PHP-skriptidele.
.php -> http://site/dirB/page.php - töötab
http://site/dirB/page.html – ei tööta)

Regulaaravaldiste süntaks
. - punkt asendab suvalise tähemärgi.
- tähistab tähtedele a, b või c vastavate märkide loendit.
[^abc] - märkide loend, mis ei sisaldu määratud vahemikus. Vastab mis tahes tähemärgile, välja arvatud a, b või c.
* - tähendab, et eelnevat märki saab korrata (0 või enam korda).
* - käsk leiab järjestikused märgid antud komplektist.
[^abc]* – täpselt vastupidine.

.* - asendab absoluutselt igasuguse märgistiku. ".*" – leiab kõik jutumärkide vahel olevad alamstringid.
^ - rea algus (kui seda kasutatakse väljendi alguses).
$ - tähistab rea lõppu.

\w - täht, number või alakriips _.
\d - asendab mis tahes arvu.
\D – asendab mis tahes tähemärki, kuid mitte numbrit.
- asendab mis tahes numbri.
- mis tahes täht a-st z-ni (kogu ladina tähestikust) väiketähtedega.
- mis tahes täht A-st Z-ni SUURTÄHES.
- igal juhul mis tahes täht a-st Z-ni.
- sama.

Reeglites kasutatavad erimärgid ja nende tähendused.
^ - erimärk rea alguses;
$ - rea lõpu erimärk;
! - eriline eituse iseloom;
. - punkt, asendab mis tahes tähemärki, kuid ainult ühte;
() - rühmitamine;
\ on "põgenev" kaldkriips pärast seda, kui seda peetakse tavaliseks märgiks, mitte erimärgiks.

Modifikaatoreid kasutatakse tavaliste erimärkide või nende rühmade järel ja need võimaldavad teil laiendada reeglite käivitamise mallide võimalusi.
? - sümbolit korratakse 0 või 1 kord.
+ - korratakse 1 kuni 65536 korda.
* - korratakse 0 kuni 65536 korda.

Lipud, mis täpsustavad täiendavat reegli kasutamise valikud. Need on loetletud nurksulgudes, eraldades need komadega, ütleme või .
NC – NoCase lipp, mis keelab tähemärkide kontrollimise reegli käivitamisel.
R – ümbersuunamise lipp, peatab URL-i muutmise ja tagastab tulemuse. Kõige sagedamini kasutatav väärtus on R=301, kuid ajutiste ümbersuunamiste puhul on võimalikud ka muud väärtused (302, TEISUNUD AJUTISEKS).
L – viimane lipp, peatab URL-i moodustamise ja rida loetakse lõplikuks.

Ümbersuunamine php kaudu.

Kui teil on tavaline PHP leht, mis tuleb ümber suunata uuele aadressile, siis saate ilma .htaccessita hakkama

Näide:

Kui teil on tavaline PHP leht, mis tuleb ümber suunata uuele aadressile, siis saate ilma .htaccessita hakkama
Ümbersuunamine javascripti kaudu.
Ümbersuunamist saab teha ka tavalise JavaScripti abil (kuigi ilma lehe kaalu ülekandmiseta).
window.location="http://site/category/";
(tavaline ümbersuunamine saidi lehele)

Räägi sõpradele
alert("Teid suunatakse nüüd ümber!"); window.location="http://site/category/";