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 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]
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.