Megszűnt lapok átirányítása

Gyakran előfordul, hogy az oldalunkat átalakítjuk, és korábbi aloldalaink megszűnnek. Ezeket ilyenkor célszer 301-es típusú (végleges) átirányítással az új lapra, vagy oldalra irányítani. Korábban bemutattam, hogy hogy kell egy teljes weboldalt átirányítani, illetve hogy kell egyetlen konkrét lapot átirányítani, most a két szélső érték közötti esetekre mutatok példákat, amikor aloldalak egy csoportját, de nem az egész oldalt akarjuk átirányítani. Az átirányításk többsége teljesen ugyanarra a logikára működik, mint a teljes weboldal átirányítása, vagy egyetlen konkrét lap átirányítása.

Alkönytár átirányítása

Alkönytár teljes tartalmának átirányítása a főoldalra

RewriteRule ^alkonyvtar/.* /? [R=301,L]

Alkönytár teljes tartalmának átirányítása másik alkönyvtár főoldalára

RewriteRule ^alkonyvtar1/.* /alkonyvtar2/? [R=301,L]

Alkönytár teljes tartalmának átirányítása másik alkönyvtárba, változatlan szerkezettel

RewriteRule ^alkonyvtar1/(.*) /alkonyvtar2/$1 [R=301,L]

Query String-es oldalak átirányítása

regi.php?id=akarmilyen_szam átirányítása uj.php?id=ugyanaz_a_szam-ra, általánosságban

RewriteCond %{QUERY_STRING} id[NC]
RewriteRule ^regi\.php$ uj.php [L]

Figyeljük meg, hogy a RewriteRule-nál nem kellett megadni semmilyen paramétert, azt a RewriteRule automatikusan hozzáteszi.

regi.php?id=vlaamilyen_szam átirányítása ujkonyvar/ugyanaz_aszam/ -ra

RewriteCond %{QUERY_STRING} id=(.*) [NC]
RewriteRule ^regi\.php$ /ujkonyvtar/%1/? [L]

Figyeljük meg, hogy a végén van egy kérdőjel. Ez azt jelzi, hogy le kell vágni a query string-et.