Omdiriger WordPress i topptekst

Omdirigering av WordPress -topptekst

De omdirigering plugin bygget for WordPress er et fantastisk middel til å organisere og administrere viderekoblinger. Jeg bruker den på dette nettstedet og har organisert mine viderekoblingsgrupper for oppdaterte innlegg, tilknyttede lenker, nedlastinger osv.

Imidlertid fikk jeg et unikt problem der jeg har satt opp en omvendt proxy for en klient der WordPress kjører på en bane ... men ikke roten til nettstedet. Det primære nettstedet kjører på IIS i Azure. IIS kan administrere viderekoblinger akkurat som enhver webserver, men problemet er at denne klienten vil trenge å omdirigere ledelsen i utviklingsprosessen - og de er allerede opptatt.

Det dreier seg om at en typisk omdirigering av .htaccess-stil ikke er en mulighet ... vi må faktisk skrive omdirigeringene i PHP. Som en løsning dirigerer vi forespørslene til WordPress for å identifisere om det er noen viderekoblinger på gamle stier.

Innenfor header.php fil av vårt barnetema, har vi en funksjon:

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;
	}
}

Vi gadd ikke å sette funksjonen i functions.php bare fordi den bare ville ha innvirkning på toppfilen. Så, i header.php-filen, har vi ganske enkelt en liste over alle viderekoblinger:

my_redirect('lesson_plans', 'lesson-plan');
my_redirect('resources/lesson-plans/26351', 'lesson-plan/tints-and-shades');
my_redirect('about/about', 'about/company/');

Med den funksjonen kan du også spesifisere hvilken type viderekobling du vil sette overskriftsforespørselen til, vi har nettopp standardisert den til en 301-viderekobling, slik at søkemotorene vil respektere den.

Hva tror du?

Dette nettstedet bruker Akismet for å redusere spam. Lær hvordan kommentaren din behandles.