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 baš kao i svaki web server, ali problem je u tome š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 preusmjeravamo 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 također možete odrediti na koju vrstu preusmjeravanja želite postaviti zahtjev za zaglavlje, upravo smo ga zadali na 301 preusmjeravanje tako da ga pretraživači poštuju.

Šta ti misliš?

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