Leid WordPress om in Header

WordPress header-omleiding

Het omleidingsplug-in gebouwd voor WordPress is een fantastische manier om omleidingen te organiseren en te beheren. Ik gebruik het op deze site en heb mijn groepen omleidingen georganiseerd voor bijgewerkte berichten, gelieerde links, downloads, enz.

Ik kwam echter een uniek probleem tegen waarbij ik een reverse proxy heb ingesteld voor een client waar WordPress op een pad draait ... maar niet de root van de site. De primaire site wordt uitgevoerd op IIS in Azure. IIS kan omleidingen beheren zoals elke webserver dat kan, maar het probleem is dat deze client omleidingsbeheer in hun ontwikkelingsproces moet opnemen - en ze zijn al bezig.

Het probleem is dat een typische redirect in .htaccess-stijl niet mogelijk is ... we moeten de redirects daadwerkelijk in PHP schrijven. Als oplossing sturen we de verzoeken naar WordPress om te bepalen of er omleidingen zijn op oude paden.

Binnen header.php bestand van ons child-thema hebben we een functie:

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

We hebben niet de moeite genomen om de functie in functions.php te plaatsen, simpelweg omdat het alleen het headerbestand zou beïnvloeden. Vervolgens hebben we in het header.php-bestand een lijst met alle omleidingen:

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

Met die functie kun je ook specificeren op welk type omleiding je het headerverzoek wilt instellen, we hebben het zojuist standaard ingesteld op een 301-omleiding, zodat de zoekmachines het zullen eren.

Wat denk je?

Deze site gebruikt Akismet om spam te verminderen. Ontdek hoe uw reactiegegevens worden verwerkt.