Přesměrujte WordPress v záhlaví

Přesměrování záhlaví WordPress

Společnost plugin pro přesměrování vytvořeno pro WordPress je skvělý prostředek pro organizaci a správu přesměrování. Používám to na tomto webu a organizuji své skupiny přesměrování pro aktualizované příspěvky, odkazy affiliate partnerů, stahování atd.

Narazil jsem však na jedinečný problém, kdy mám nastaven reverzní proxy server pro klienta, kde WordPress běží na cestě ... ale ne kořen webu. Primární web běží na IIS v Azure. IIS může spravovat přesměrování stejně jako jakýkoli jiný webový server, ale problém je v tom, že tento klient by musel do svého vývojového procesu začlenit správu přesměrování - a už jsou zaneprázdněni.

Jde o to, že typické přesměrování stylu .htaccess není možné ... přesměrování musíme skutečně napsat v PHP. Jako řešení nasměrujeme požadavky na WordPress, abychom zjistili, zda na starých cestách existují přesměrování.

V rámci header.php soubor našeho podřízeného tématu, máme funkci:

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

Neobtěžovali jsme se s uvedením funkce do functions.php jednoduše proto, že by to mělo dopad pouze na hlavičkový soubor. Potom v souboru header.php jednoduše máme seznam všech přesměrování:

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

Pomocí této funkce můžete také určit, na jaký typ přesměrování chcete nastavit požadavek na záhlaví, právě jsme jej nastavili jako výchozí přesměrování 301, aby jej vyhledávače respektovaly.

Co si myslíte?

Tyto stránky používají Akismet k omezení spamu. Zjistěte, jak jsou vaše údaje komentářů zpracovávány.