Preusmjerite WordPress u zaglavlju

Preusmjeravanje WordPress zaglavlja

The dodatak za preusmjeravanje napravljeno za WordPress je fantastično sredstvo za organizaciju i upravljanje preusmjeravanjima. Koristim ga na ovoj stranici i organizirao sam svoje grupe preusmjeravanja za ažurirane postove, pridružene linkove, preuzimanja itd.

Međutim, naišao sam na jedinstveni problem kada imam obrnuti proxy postavljen za klijenta gdje WordPress radi na putu ... ali ne i na korijenu web stranice. Primarna web lokacija je pokrenuta na IIS u Azureu. IIS može upravljati preusmjeravanjima kao što to može i svaki web server, ali problem je što bi ovaj klijent trebao staviti upravljanje preusmjeravanjem u svoj razvojni proces - i već je zauzet.

U pitanju je da tipično preusmjeravanje u stilu .htaccess nije mogućnost ... moramo zapravo preusmjeravanja napisati u PHP-u. Kao rješenje, usmjeravamo zahtjeve na WordPress kako bismo utvrdili postoje li preusmjeravanja na starim stazama.

Unutar header.php datoteku naše podređene teme, imamo funkciju:

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 zamarali stavljanjem funkcije u functions.php jednostavno zato što bi to utjecalo samo na datoteku zaglavlja. Zatim, unutar datoteke header.php, jednostavno imamo listu svih preusmjeravanja:

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

Pomoću te funkcije možete odrediti i na koju vrstu preusmjeravanja želite postaviti zahtjev za zaglavlje, upravo smo ga zadali na preusmjeravanje 301, tako da će ga pretraživači poštovati.

Šta ti misliš?

Ova stranica koristi Akismet kako bi smanjila neželjenu poštu. Saznajte kako se podaci vašeg komentara obrađuju.