.htaccess átirányítás generátor
301 és 302 átirányítások generálása .htaccess-hez vagy Nginxhez, HTTPS és www kikényszerítése, domainváltás, törtvonal-javítás, hurok- és láncellenőrzéssel.
Előbb készíts biztonsági mentést a jelenlegi konfigurációról, és 301 előtt teszteld 302-vel: a böngészők gyorsítótárazzák az állandó átirányításokat.
Ellenőrzések
Nem találtam hibát.
Így használd a .htaccess átirányítás generátort
- Válaszd ki a Szervert: Apache (.htaccess) vagy Nginx, majd az Átirányítás típusa értéket: 301 – állandó vagy 302 – ideiglenes.
- Az Oldal-átirányítások mezőben soronként egy átirányítást írj: a régi útvonalat, egy szóközt, majd az új URL-t, például
/regi-oldal.html /uj-oldal/. A tabulátor, a vessző és a->is működik, és beilleszthetsz teljes régi URL-eket vagy meglévőRedirect 301 /a /bsorokat is. - Ha szeretnéd, add meg A domained (például
example.com), hogy az oldal-átirányítások közvetlenül a végleges címre mutassanak. - A Kanonikus cím alatt pipáld be a HTTPS kikényszerítése opciót, és válassz: www kikényszerítése, www eltávolítása vagy A www maradjon, ahogy van. A Záró törtvonal alatt döntsd el, hozzáadod vagy eltávolítod.
- Ha az egész oldal költözött, töltsd ki A teljes domain áthelyezése részt a Régi domain és az Új cím megadásával, és hagyd bepipálva Az útvonal megtartása opciót, hogy minden oldal a megfelelőjére érkezzen.
- Olvasd el az Ellenőrzések részt, majd Másolás vagy Letöltés. A Példa betöltése egy teljes konfigurációt mutat.
Az eszköz a böngésződben fut. Semmit, amit beírsz, nem küld el a szervernek.
Hogyan működnek a generált szabályok
Apache-hoz az eszköz mod_rewrite szabályokat ír, egyetlen RewriteEngine On sorral kezdve. Minden oldalból egy RewriteRule lesz, amelynek mintája ^/? kezdetű, így egyaránt működik .htaccess fájlban (ahol az Apache eltávolítja a vezető törtvonalat) és <VirtualHost> blokkban. Az útvonalaidban lévő pontokat, zárójeleket, plusz jeleket és más reguláriskifejezés-karaktereket escape-eli, a szóköz pedig \x20 lesz. Az új URL-ben a $ és a % escape-elve van, mert az Apache visszahivatkozásnak értené őket, az NE jelző pedig megakadályozza, hogy az Apache másodszor is kódolja az URL-t.
A RewriteRule sosem látja a lekérdezési karakterláncot. Ha egy régi cím tartalmaz ilyet, például /termek.php?id=42, az eszköz hozzáad egy RewriteCond %{QUERY_STRING} ^id=42$ sort és a QSD jelzőt, így a régi paraméterek eldobódnak, és nem másolódnak az új oldalra.
A szabályok sorrendje elkerüli a felesleges ugrásokat: előbb a domain-áthelyezés, majd az oldal-átirányítások, a záró törtvonal, végül a HTTPS és a www. A HTTPS-t és a www-t egyetlen szabály kezeli, így a http://www.example.com egyetlen átirányítással jut el a https://example.com címre. Ha a domained ismert, az oldal- és törtvonal-átirányítások már a végleges HTTPS címre mutatnak.
Nginxnél a HTTPS, a www és a domain-áthelyezés külön server blokk lesz return 301 utasítással, az oldal-átirányításokból pedig rewrite sorok, amelyeket a fő server blokkba kell illesztened. Ezek a location-illesztés előtt futnak, így a záró törtvonal szabályát is felülírják. A cél végén álló ? megakadályozza, hogy az Nginx hozzáfűzze a régi lekérdezési karakterláncot, ha nem kell.
Elvégzett ellenőrzések
- Egy oldal, amely önmagára irányít, vagy két oldal, amely egymásra irányít (hurok, amely „túl sok átirányítás” hibába fut).
- Az A → B → C jellegű láncok: irányítsd az A-t közvetlenül a C-re, mert minden további ugrás lassítja a látogatókat és pazarolja a feltérképezési keretet.
- Kétszer felsorolt azonos régi cím, amelynél csak az első szabály érvényes.
- Olyan cél, amely se nem abszolút URL, se nem
/-rel kezdődő útvonal, vagy a saját domainedre mutatóhttp://vagy rossz www-s cél. - Olyan törtvonal-beállítás, amely egy célt újra átirányítana, vagy visszaküldene a forrásához.
Gyakori kérdések
301-et vagy 302-t használjak?
301-et használj, ha az áthelyezés végleges: a keresőmotorok átviszik a régi oldal jeleit az újra, és frissítik az indexüket. A 302 ideiglenes változtatásokhoz való, például karbantartáshoz vagy rövid kampányhoz. A böngészők gyorsítótárazzák a 301-es átirányításokat, ezért előbb teszteld 302-vel.
Hová tegyem a .htaccess fájlt?
Az oldal gyökérmappájába (gyakran public_html vagy www), az index.php vagy index.html mellé. A letöltött fájl neve htaccess.txt; nevezd át .htaccess névre, vagy illeszd be a szabályokat a meglévő fájl elejére. Őrizz meg biztonsági másolatot az eredetiről.
Miért RewriteRule, és miért nem Redirect 301?
A Redirect sorok a mod_alias modulból jönnek, és a RewriteRule-tól eltérő fázisban futnak. Ha egy fájlban kevered őket, nehéz megjósolni a sorrendet. Ha csak mod_rewrite-ot használsz, minden szabály egy kiszámítható sorozatban marad, és a lekérdezési karakterláncok is illeszthetők.
Az oldalam „túl sok átirányítás” hibát ad a HTTPS kikényszerítése után. Miért?
Egy HTTPS-t lezáró terheléselosztó, CDN vagy proxy mögött az Apache minden kérést sima HTTP-nek lát, így a %{HTTPS} mindig ki van kapcsolva. Ilyenkor a továbbított fejlécet teszteld, például RewriteCond %{HTTP:X-Forwarded-Proto} !https feltétellel, vagy kapcsold be az átirányítást a CDN-ben.
Módosítja ez az eszköz a szerveremet?
Nem. Csak szöveget generál a böngésződben. Semmi sem kerül elküldésre, és te döntöd el, hová és hogyan telepíted a szabályokat.
Kapcsolódó eszközök
- Robots.txt generátor Készíts érvényes robots.txt fájlt user-agent csoportokkal, Allow és Disallow szabályokkal, sitemapekkel és crawl-delay értékkel, gyakori hibák ellenőrzésével.
- Hreflang címke generátor Hreflang címkék többnyelvű oldalakhoz HTML link címkeként, XML-sitemap bejegyzésként vagy HTTP Link fejlécként, ISO-kód és kölcsönösség ellenőrzéssel.
- Meta címke generátor Ingyenes meta címke generátor a title, meta description, canonical URL, robots és viewport címkékhez, hosszellenőrzéssel és helyesen escape-elt HTML-lel.
- URL-kódoló és -dekódoló Ingyenes URL-kódoló és -dekódoló: kódolj paramétereket vagy teljes URL-eket, fejtsd vissza a %XX sorozatokat, és kezeld a + jelet szóközként. Böngészőben fut.