A WordPress átirányítása a fejlécben
A átirányítási plugin a WordPress számára épített eszköz az átirányítások szervezésének és kezelésének fantasztikus eszköze. Ezen a webhelyen használom, és átirányítási csoportjaimat szerveztem frissített bejegyzések, társult linkek, letöltések stb.
Egy egyedi problémába ütköztem, amikor egy fordított proxyt állítottam be egy olyan ügyfél számára, ahol a WordPress egy útvonalon fut ... de nem a webhely gyökerét. Az elsődleges hely az IIS-en fut az Azure-ban. Az IIS ugyanúgy kezelheti az átirányításokat, mint bármely webkiszolgáló, de a probléma az, hogy ennek az ügyfélnek át kell irányítania a fejlesztést a fejlesztési folyamatába - és ők már elfoglaltak.
A kérdés az, hogy egy tipikus .htaccess stílusú átirányítás nem lehetséges ... az átirányításokat valóban PHP-be kell írnunk. Megoldásként átirányítjuk a kéréseket a WordPress-be, hogy azonosítsuk, vannak-e átirányítások a régi utakon.
A header.php fájl a gyermek témánkról, van egy funkciónk:
function my_redirect ($oldlink, $newlink, $redirecttype = 301) {
$olduri = $_SERVER['REQUEST_URI'];
if(strpos($olduri, $oldlink) !== false) {
$newuri = str_replace($oldlink, $newlink, $olduri);
wp_redirect( $newuri, $redirecttype );
exit;
}
}
Nem zavartuk magunkat azzal, hogy a függvényt a függvények.php-be helyeztük, egyszerűen azért, mert csak a fejlécfájlra volt hatással. Ezután a header.php fájlban egyszerűen megvan az összes átirányítás listája:
my_redirect('lesson_plans', 'lesson-plan');
my_redirect('resources/lesson-plans/26351', 'lesson-plan/tints-and-shades');
my_redirect('about/about', 'about/company/');
Ezzel a funkcióval megadhatja azt is, hogy milyen típusú átirányításra állítsa be a fejléc-kérelmet, csak alapértelmezés szerint 301-es átirányítást hajtottunk végre, hogy a keresőmotorok tiszteletben tartsák.