Preusmerite WordPress v glavo

Preusmeritev glave WordPress

O preusmerjevalni vtičnik zasnovan za WordPress je fantastično sredstvo za organiziranje in upravljanje preusmeritev. Uporabljam ga na tej spletni strani in organiziral svoje skupine preusmeritev za posodobljene objave, podružnične povezave, prenose itd.

Vendar sem naletel na edinstveno težavo, pri kateri imam nastavljen obratni proxy za odjemalca, kjer WordPress teče na poti ... ne pa tudi na korenu spletnega mesta. Primarno spletno mesto se izvaja v IIS v Azure. IIS lahko upravlja preusmeritve tako kot vsak spletni strežnik, vendar je težava v tem, da bi moral ta odjemalec v svoj razvojni proces vključiti upravljanje preusmeritev - in že je zaposlen.

Vprašanje je, da tipična preusmeritev v slogu .htaccess ni mogoča ... preusmeritve moramo dejansko napisati v PHP. Kot rešitev zahteve usmerimo v WordPress, da ugotovimo, ali obstajajo preusmeritve na starih poteh.

Znotraj header.php datoteke naše podrejene teme, imamo funkcijo:

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

Nismo se trudili, da bi funkcijo postavili v functions.php zgolj zato, ker bi vplivala le na glavo. Nato imamo znotraj datoteke header.php preprosto seznam vseh preusmeritev:

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

S to funkcijo lahko določite tudi, na katero vrsto preusmeritve želite nastaviti zahtevo glave, pravkar smo jo privzeto preusmerili na 301, tako da jo bodo iskalniki spoštovali.

Kaj menite?

Ta stran uporablja Akismet za zmanjšanje nezaželene pošte. Preberite, kako se vaš komentar obravnava.