Omdiriger WordPress i header

WordPress header omdirigering

omdirigering plugin bygget til WordPress er et fantastisk middel til at organisere og styre omdirigeringer. Jeg bruger det på dette websted og har organiseret mine grupper af omdirigeringer til opdaterede indlæg, tilknyttede links, downloads osv.

Imidlertid stødte jeg på et unikt problem, hvor jeg har oprettet en omvendt proxy til en klient, hvor WordPress kører på en sti ... men ikke roden til webstedet. Det primære websted kører på IIS i Azure. IIS kan administrere omdirigeringer, ligesom enhver webserver kan, men problemet er, at denne klient skal sætte omdirigering i deres udviklingsproces - og de har allerede travlt.

Det drejer sig om, at en typisk omdirigering af .htaccess-stil ikke er en mulighed ... vi skal faktisk skrive omdirigeringerne i PHP. Som en løsning dirigerer vi anmodningerne til WordPress for at identificere, om der er nogen omdirigeringer på gamle stier.

Inden for header.php fil af vores børnetema, har vi en funktion:

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 gider ikke at sætte funktionen i functions.php simpelthen fordi den kun påvirker headerfilen. Derefter har vi simpelthen i listen header.php en liste over alle omdirigeringer:

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

Med denne funktion kan du også angive, hvilken type omdirigering, du vil indstille overskriftsanmodningen til, vi har lige standardiseret den til en 301-omdirigering, så søgemaskinerne respekterer den.

Hvad mener du?

Dette websted bruger Akismet til at reducere spam. Lær, hvordan dine kommentardata behandles.