A WordPress átirányítása a fejlécben

WordPress fejléc-átirányítás

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.

Ugyanakkor 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ökérzeté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 megtudjuk, 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 functions.php fájlba helyeztük, egyszerűen azért, mert ez csak a fejléc fájlt érinti. 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érést, csak alapértelmezés szerint 301-es átirányítást hajtottunk végre, hogy a keresőmotorok tiszteletben tartsák.

Mit gondolsz?

Ez az oldal Akismet-et használ a levélszemét csökkentése érdekében. Ismerje meg, hogyan dolgozik a megjegyzésed.