.htaccess ümbersuunamise generaator
Loo 301 ja 302 ümbersuunamised .htaccess või Nginxi jaoks, sunni HTTPS ja www, teisalda domeen ja paranda lõpukaldkriipsud tsüklite kontrolliga.
Tee esmalt oma praegusest seadistusest varukoopia ja testi 302-ga enne 301-le üleminekut: brauserid salvestavad püsivad ümbersuunamised vahemällu.
Kontrollid
Probleeme ei leitud.
Kuidas .htaccess ümbersuunamise generaatorit kasutada
- Vali oma Server: Apache (.htaccess) või Nginx, seejärel Ümbersuunamise tüüp: 301 – püsiv või 302 – ajutine.
- Kirjuta jaotises Lehtede ümbersuunamised üks ümbersuunamine rea kohta: vana tee, tühik, seejärel uus URL, näiteks
/vana-leht.html /uus-leht/. Töötavad ka tabeldusmärk, koma või->ning sisse võid kleepida täielikke vanu URL-e või olemasolevaid ridu kujulRedirect 301 /a /b. - Soovi korral sisesta Sinu domeen (näiteks
example.com), et lehtede ümbersuunamised osutaksid otse lõplikule aadressile. - Märgi jaotises Kanooniline aadress valik Sunni HTTPS ja vali Sunni www, Eemalda www või Jäta www muutmata. Jaotises Lõpukaldkriips vali, kas see lisada või eemaldada.
- Kui kogu sait on kolinud, täida Teisalda kogu domeen väljadega Vana domeen ja Uus aadress ning jäta Säilita tee märgituks, et iga leht jõuaks oma vastele.
- Loe Kontrollid, seejärel Kopeeri või Laadi alla reeglid. Laadi näide näitab täielikku seadistust.
Tööriist töötab sinu brauseris: sinu aadresse ja reegleid ei saadeta serverisse.
Kuidas loodud reeglid töötavad
Apache’i jaoks kirjutab tööriist mod_rewrite reeglid, mis algavad ühe RewriteEngine On reaga. Iga leht muutub RewriteRule‘iks, mille muster algab ^/?, nii et see töötab nii .htaccess failis (kus esimene kaldkriips eemaldatakse) kui ka <VirtualHost> plokis. Punktid, nurksulud, plussmärgid ja muud regulaaravaldise märgid sinu teedes escape’itakse ning tühik muutub \x20. Uues URL-is escape’itakse $ ja %, sest Apache loeks need tagasiviideteks, ning lipp NE takistab Apache’il URL-i teist korda kodeerimast.
RewriteRule ei näe kunagi päringustringi. Kui vana aadress sisaldab seda, näiteks /product.php?id=42, lisab tööriist rea RewriteCond %{QUERY_STRING} ^id=42$ ja lipu QSD, et vanad parameetrid visataks ära, mitte ei kopeeritaks uuele lehele.
Reeglid on järjestatud tarbetute hüpete vältimiseks: kõigepealt domeeni teisaldus, siis lehtede ümbersuunamised, siis lõpukaldkriips ning lõpuks HTTPS ja www. HTTPS-i ja www-d käsitleb üks reegel, nii et http://www.example.com läheb aadressile https://example.com ühe ümbersuunamisega. Kui sinu domeen on teada, osutavad lehtede ja kaldkriipsu ümbersuunamised juba lõplikule HTTPS aadressile.
Nginxi puhul muutuvad HTTPS, www ja domeeni teisaldus eraldi server plokkideks käsuga return 301 ning lehtede ümbersuunamised rewrite ridadeks, mis tuleb kleepida põhilisse server plokki. Need käivituvad enne asukohtade sobitamist, seega on nad ka lõpukaldkriipsu reeglist ees. Sihtmärgi lõpus olev ? takistab Nginxil vana päringustringi lisamast, kui seda ei tohi lisada.
Tehtavad kontrollid
- Leht, mis suunab iseendale, või kaks lehte, mis suunavad teineteisele (tsükkel, mis lõpeb teatega „liiga palju ümbersuunamisi“).
- Ahelad, näiteks A → B → C: suuna A otse aadressile C, sest iga lisahüpe aeglustab külastajaid ja raiskab roomamisbudjetti.
- Sama vana aadress loetletud kaks korda, kus kehtiks ainult esimene reegel.
- Sihtmärk, mis ei ole ei absoluutne URL ega märgiga
/algav tee, võihttp://või vale www-ga sihtmärk sinu enda domeenil. - Lõpukaldkriipsu seadistus, mis suunaks sihtmärgi uuesti ümber või saadaks selle tagasi allikale.
Korduma kippuvad küsimused
Kas kasutada 301 või 302?
Kasuta 301, kui kolimine on püsiv: otsingumootorid kannavad vana lehe signaalid üle uuele ja uuendavad oma indeksit. Kasuta 302 ajutiste muudatuste puhul, näiteks hoolduse või lühikese kampaania ajal. Brauserid salvestavad 301 ümbersuunamised vahemällu, seega testi esmalt 302-ga.
Kuhu .htaccess fail panna?
Saidi juurkausta (sageli public_html või www), faili index.php või index.html kõrvale. Allalaaditud fail on nimega htaccess.txt; nimeta see ümber .htaccess-iks või kleebi reeglid oma olemasoleva faili algusesse. Hoia originaalist varukoopiat.
Miks kasutada RewriteRule'i, mitte Redirect 301?
Redirect read pärinevad moodulist mod_alias ja töötavad teises faasis kui RewriteRule. Mõlema segamine ühes failis muudab järjekorra raskesti ennustatavaks. Ainult mod_rewrite kasutamine hoiab kõik reeglid ühes ennustatavas järjestuses ja võimaldab päringustringe sobitada.
Mu sait näitab pärast HTTPS-i sundimist teadet „liiga palju ümbersuunamisi“. Miks?
Koormusjaoturi, CDN-i või puhverserveri taga, mis lõpetab HTTPS-i, näeb Apache iga päringut lihtsa HTTP-na, seega on %{HTTPS} alati väljas. Sel juhul testi hoopis edastatud päist, näiteks RewriteCond %{HTTP:X-Forwarded-Proto} !https, või luba ümbersuunamine CDN-is.
Kas see tööriist muudab minu serverit?
Ei. See loob teksti ainult sinu brauseris. Midagi ei saadeta kuhugi ja sina otsustad, kuhu ja kuidas reeglid paigaldada.
Seotud tööriistad
- Robots.txt generaator Loo kehtiv robots.txt fail kasutajaagendi rühmade, Allow- ja Disallow-reeglite, saidikaartide ja crawl-delay'ga ning kontrolli levinud vigu.
- Hreflang-siltide generaator Loo mitmekeelsete lehtede hreflang-sildid HTML link-siltide, XML-saidikaardi kirjete või HTTP Link-päisena ning kontrolli ISO koode ja vastastikust viitamist.
- Meta-siltide generaator Tasuta meta-siltide generaator: lehe pealkiri, metakirjeldus, kanooniline URL, robots ja viewport pikkusekontrolli ning õigesti escape'itud HTML-iga.
- URL-i kodeerija ja dekodeerija Tasuta URL-i kodeerija ja dekodeerija. Kodeeri päringuparameetrid või terved URL-id, dekodeeri %XX jadad ja käsitle + tühikuna. Töötab sinu brauseris.