Generator preusmeritev .htaccess
Ustvari preusmeritvi 301 in 302 za .htaccess ali Nginx, vsili HTTPS in www, premakni domeno in uredi poševnice na koncu, s preverjanjem zank in verig.
Najprej varnostno kopiraj trenutno konfiguracijo in preizkusi s 302, preden preklopiš na 301: brskalniki trajne preusmeritve shranijo v predpomnilnik.
Preverjanja
Težav ni najti.
Kako uporabljaš generator preusmeritev .htaccess
- Izberi Strežnik: Apache (.htaccess) ali Nginx, nato Vrsta preusmeritve: 301 – trajna ali 302 – začasna.
- V Preusmeritve strani (po ena v vrstici: stara pot, nato nov URL) napiši eno preusmeritev v vsako vrstico: staro pot, presledek, nato nov URL, na primer
/stara-stran.html /nova-stran/. Deluje tudi tabulator, vejica ali->, prilepiš pa lahko tudi polne stare URL-je ali obstoječe vrsticeRedirect 301 /a /b. - Po želji vnesi Tvoja domena (neobvezno) (na primer
example.com), da preusmeritve strani vodijo naravnost na končni naslov. - Pod Kanonični naslov označi Vsili HTTPS in izberi Vsili www, Odstrani www ali Pusti www, kot je. Pod Poševnica na koncu izberi, ali naj se doda ali odstrani.
- Če se je preselilo celotno spletno mesto, izpolni Premakni celotno domeno s poljema Stara domena in Nov naslov (absolutni URL) ter pusti označeno Ohrani pot (stara.si/stran → nova.si/stran), da vsaka stran pristane na svoji enakovredni.
- Preberi Preverjanja, nato pravila Kopiraj ali Prenesi. Naloži primer pokaže popolno konfiguracijo.
Kako delujejo ustvarjena pravila
Za Apache orodje napiše pravila mod_rewrite, ki se začnejo z enim samim RewriteEngine On. Vsaka stran postane RewriteRule, katerega vzorec se začne z ^/?, zato deluje v datoteki .htaccess (kjer je začetna poševnica odstranjena) in v bloku <VirtualHost>. Pike, oglati oklepaji, znaki plus in drugi znaki regularnih izrazov v tvojih poteh so ubežani, presledek pa postane \x20. V novem URL-ju sta $ in % ubežana, ker bi ju Apache razumel kot povratna sklicevanja, zastavica NE pa Apachu prepreči, da bi URL kodiral še drugič.
RewriteRule nikoli ne vidi poizvedbenega niza. Kadar stari naslov enega vsebuje, na primer /product.php?id=42, orodje doda vrstico RewriteCond %{QUERY_STRING} ^id=42$ in zastavico QSD, tako da se stari parametri zavržejo in se ne prekopirajo na novo stran.
Pravila so razvrščena tako, da se izogneš nepotrebnim skokom: najprej premik domene, nato preusmeritve strani, nato poševnica na koncu, nato HTTPS in www. HTTPS in www obravnava eno pravilo, zato http://www.example.com vodi na https://example.com z eno samo preusmeritvijo. Ko je tvoja domena znana, preusmeritve strani in poševnic že vodijo na končni naslov HTTPS.
Za Nginx HTTPS, www in premiki domene postanejo ločeni bloki server z return 301, preusmeritve strani pa vrstice rewrite, ki jih prilepiš v glavni blok server. Izvedejo se pred ujemanjem lokacije, zato premagajo tudi pravilo za poševnico na koncu. Znak ? na koncu cilja prepreči, da bi Nginx dodal stari poizvedbeni niz, kadar ni treba.
Izvedena preverjanja
- Stran, ki se preusmerja nase, ali dve strani, ki se preusmerjata druga na drugo (zanka, ki se konča s »preveč preusmeritev«).
- Verige, kot je A → B → C: usmeri A naravnost na C, ker vsak dodatni skok obiskovalce upočasni in zapravlja proračun iskalnikov za preiskovanje.
- Isti stari naslov, naveden dvakrat, kjer bi veljalo samo prvo pravilo.
- Cilj, ki ni niti absolutni URL niti pot, ki se začne z
/, ali ciljhttp://oziroma napačen www na tvoji domeni. - Nastavitev poševnice na koncu, ki bi cilj preusmerila še enkrat ali ga poslala nazaj na izvor.
Pogosta vprašanja
Naj uporabim 301 ali 302?
301 uporabi, kadar je premik trajen: iskalniki signale stare strani prenesejo na novo in posodobijo svoj indeks. 302 uporabi za začasne spremembe, kot so vzdrževanje ali kratka kampanja. Brskalniki preusmeritve 301 shranijo v predpomnilnik, zato najprej preizkusi s 302.
Kam dam datoteko .htaccess?
V korenski mapi spletnega mesta (pogosto public_html ali www), poleg index.php ali index.html. Prenesena datoteka se imenuje htaccess.txt; preimenuj jo v .htaccess ali pa pravila prilepi na vrh svoje obstoječe datoteke. Obdrži varnostno kopijo izvirnika.
Zakaj RewriteRule namesto Redirect 301?
Vrstice Redirect izvirajo iz mod_alias in se izvajajo v drugi fazi kot RewriteRule. Če oboje mešaš v isti datoteki, je vrstni red težko predvideti. Samo mod_rewrite ohrani vsa pravila v enem predvidljivem zaporedju in omogoča ujemanje poizvedbenih nizov.
Moje spletno mesto po vsiljenem HTTPS kaže »preveč preusmeritev«. Zakaj?
Za izravnalnikom obremenitve, CDN-jem ali posrednikom, ki zaključi HTTPS, Apache vidi vsako zahtevo kot navaden HTTP, zato je %{HTTPS} vedno izklopljen. V tem primeru preizkusi posredovano glavo, na primer RewriteCond %{HTTP:X-Forwarded-Proto} !https, ali pa preusmeritev omogoči v CDN-ju.
Ali to orodje spremeni moj strežnik?
Ne. Besedilo samo ustvari v tvojem brskalniku. Nič se ne pošlje nikamor, ti pa še naprej sam odločaš, kje in kako so pravila nameščena.
Sorodna orodja
- Generator robots.txt Ustvari veljavno datoteko robots.txt s skupinami user-agentov, pravili Allow in Disallow, zemljevidi strani in crawl-delay, s preverjanjem pogostih napak.
- Generator oznak hreflang Ustvari oznake hreflang za večjezične strani kot oznake HTML link, vnose zemljevida strani XML ali glave HTTP Link, s preverjanjem kod ISO in vzajemnosti.
- Generator oznak meta Brezplačen generator oznak meta za naslov, opis meta, kanonični URL, robots in viewport s preverjanjem dolžine in pravilno ubeženim HTML.
- Kodiranje in dekodiranje URL Brezplačno kodiranje in dekodiranje URL. Odstotno kodiraj parametre poizvedbe ali celotne URL, dekodiraj %XX in obravnavaj + kot presledek v brskalniku.