Utilia

.htaccess generator preusmjeravanja

Generiši 301 i 302 preusmjeravanja za .htaccess ili Nginx, nametni HTTPS i www, premjesti domenu i riješi kosu crtu na kraju, uz provjeru petlji i lanaca.

Server
Vrsta preusmjeravanja
Kanonska adresa
Kosa crta na kraju
Premjesti cijelu domenu

Prvo napravi sigurnosnu kopiju trenutne konfiguracije i testiraj sa 302 prije prelaska na 301: preglednici pamte trajna preusmjeravanja.

Provjere

Kako koristiti .htaccess generator preusmjeravanja

  1. Odaberi Server: Apache (.htaccess) ili Nginx, zatim Vrsta preusmjeravanja: 301 – trajno ili 302 – privremeno.
  2. U Preusmjeravanja stranica (jedno po redu: stara putanja, pa novi URL) napiši po jedno preusmjeravanje u svakom redu: staru putanju, razmak, pa novi URL, na primjer /stara-stranica.html /nova-stranica/. Rade i tabulator, zarez ili ->, a možeš zalijepiti i pune stare URL-ove ili postojeće redove Redirect 301 /a /b.
  3. Po želji upiši Tvoja domena (neobavezno) (na primjer example.com) da preusmjeravanja stranica vode direktno na konačnu adresu.
  4. Pod Kanonska adresa označi Nametni HTTPS i odaberi Nametni www, Ukloni www ili Ostavi www kako jeste. Pod Kosa crta na kraju odaberi hoće li se dodati ili ukloniti.
  5. Ako je cijeli sajt premješten, popuni Premjesti cijelu domenu s poljima Stara domena i Nova adresa (apsolutni URL) i ostavi označeno Zadrži putanju (stara.com/stranica → nova.com/stranica) da svaka stranica završi na svom ekvivalentu.
  6. Pročitaj Provjere, zatim Kopiraj ili Preuzmi pravila. Učitaj primjer prikazuje cijelu konfiguraciju.

Alat radi u tvom pregledniku. Ništa što upišeš ne šalje se na server.

Kako rade generisana pravila

Za Apache alat piše pravila mod_rewrite, počevši jednim RewriteEngine On. Svaka stranica postaje RewriteRule čiji obrazac počinje s ^/?, pa radi i u datoteci .htaccess (gdje se početna kosa crta uklanja) i u bloku <VirtualHost>. Tačke, zagrade, znakovi plus i drugi znakovi regularnih izraza u tvojim putanjama se escapuju, a razmak postaje \x20. U novom URL-u $ i % se escapuju jer bi ih Apache pročitao kao povratne reference, a oznaka NE sprečava Apache da URL kodira drugi put.

RewriteRule nikada ne vidi upitni niz. Kad stara adresa sadrži jedan, kao /product.php?id=42, alat dodaje red RewriteCond %{QUERY_STRING} ^id=42$ i oznaku QSD, pa se stari parametri odbacuju umjesto da se kopiraju na novu stranicu.

Pravila su poredana tako da se izbjegnu nepotrebni skokovi: prvo premještanje domene, zatim preusmjeravanja stranica, zatim kosa crta na kraju, pa HTTPS i www. HTTPS i www obrađuje jedno pravilo, pa http://www.example.com ide na https://example.com jednim preusmjeravanjem. Kad je tvoja domena poznata, preusmjeravanja stranica i kose crte već pokazuju na konačnu HTTPS adresu.

Za Nginx se HTTPS, www i premještanje domene pretvaraju u zasebne blokove server s return 301, a preusmjeravanja stranica u redove rewrite koje treba zalijepiti unutar glavnog bloka server. Izvršavaju se prije podudaranja lokacija, pa pobjeđuju i pravilo za kosu crtu na kraju. Znak ? na kraju cilja sprečava Nginx da doda stari upitni niz kad to ne treba.

Šta se provjerava

  • Stranica koja preusmjerava na samu sebe ili dvije stranice koje preusmjeravaju jedna na drugu (petlja koja završava s „previše preusmjeravanja“).
  • Lanci poput A → B → C: usmjeri A direktno na C, jer svaki dodatni skok usporava posjetioce i troši budžet indeksiranja.
  • Ista stara adresa navedena dvaput, pri čemu bi se primijenilo samo prvo pravilo.
  • Cilj koji nije ni apsolutni URL ni putanja koja počinje sa /, ili cilj http:// ili s pogrešnim www na tvojoj domeni.
  • Postavka kose crte na kraju koja bi cilj ponovo preusmjerila ili ga vratila na izvor.

Česta pitanja

Trebam li koristiti 301 ili 302?

Koristi 301 kad je premještanje trajno: pretraživači prenose signale stare stranice na novu i ažuriraju indeks. Koristi 302 za privremene promjene, kao što su održavanje ili kratka kampanja. Preglednici pamte 301 preusmjeravanja, pa prvo testiraj sa 302.

Gdje da stavim datoteku .htaccess?

U korijenski direktorij sajta (često public_html ili www), pored index.php ili index.html. Preuzeta datoteka zove se htaccess.txt; preimenuj je u .htaccess ili zalijepi pravila na vrh postojeće datoteke. Sačuvaj sigurnosnu kopiju originala.

Zašto RewriteRule umjesto Redirect 301?

Redovi Redirect dolaze iz mod_alias i izvršavaju se u drugoj fazi nego RewriteRule. Miješanje oba u jednoj datoteci otežava predviđanje redoslijeda. Korištenje samo mod_rewrite drži sva pravila u jednom predvidljivom nizu i omogućava podudaranje upitnih nizova.

Moj sajt prikazuje „previše preusmjeravanja“ nakon nametanja HTTPS-a. Zašto?

Iza balansera opterećenja, CDN-a ili proxyja koji prekida HTTPS, Apache svaki zahtjev vidi kao običan HTTP, pa je %{HTTPS} uvijek isključen. U tom slučaju testiraj proslijeđeno zaglavlje, na primjer RewriteCond %{HTTP:X-Forwarded-Proto} !https, ili uključi preusmjeravanje u CDN-u.

Mijenja li ovaj alat moj server?

Ne. Samo generiše tekst u tvom pregledniku. Ništa se ne šalje, a ti kontrolišeš gdje i kako se pravila instaliraju.