Presmerujte WordPress v hlavičke

Presmerovanie hlavičky WordPress

و doplnok na presmerovanie vytvorené pre WordPress je fantastický prostriedok na organizáciu a správu presmerovaní. Používam to na tomto webe a organizoval som svoje skupiny presmerovaní pre aktualizované príspevky, odkazy affiliate partnerov, súbory na stiahnutie atď.

Narazil som však na jedinečný problém, keď som nastavil reverzný proxy server pre klienta, kde WordPress beží cestou ... ale nie s koreňom stránky. Primárna stránka je spustená na IIS v Azure. IIS dokáže spravovať presmerovania rovnako ako ktorýkoľvek iný webový server, problém však je, že tento klient by musel do svojho vývojového procesu vložiť správu presmerovaní - a už sú zaneprázdnení.

Ide o to, že typické presmerovanie v štýle .htaccess nie je možné ... musíme vlastne napísať presmerovania v PHP. Ako riešenie presmerujeme požiadavky na WordPress, aby sme zistili, či existujú nejaké presmerovania na starých cestách.

V rámci header.php súboru našej detskej témy, máme funkciu:

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

Neobťažovali sme sa s uvedením funkcie do functions.php jednoducho preto, lebo by to malo dopad iba na hlavičkový súbor. Potom v súbore header.php jednoducho máme zoznam všetkých presmerovaní:

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

Pomocou tejto funkcie môžete tiež určiť, na aký typ presmerovania chcete nastaviť žiadosť o hlavičku, práve sme ju nastavili na predvolenú hodnotu presmerovania 301, aby ju vyhľadávače rešpektovali.

Čo si myslíte?

Táto stránka používa Akismet na zníženie spamu. Zistite, ako sa spracúvajú údaje vašich komentárov.