Redirixir WordPress en Cabeceira

Redirección de cabeceira de WordPress

o complemento de redirección construído para WordPress é un fantástico medio para organizar e xestionar redireccións. Úsoo neste sitio e organizei os meus grupos de redireccións para publicacións actualizadas, ligazóns de afiliados, descargas, etc.

Non obstante, atopei un problema único no que teño configurado un proxy inverso para un cliente no que WordPress funciona nun camiño ... pero non na raíz do sitio. O sitio principal está a executarse en IIS en Azure. O IIS pode xestionar as redireccións igual que calquera servidor web, pero o problema é que este cliente tería que poñer a xestión das redireccións no seu proceso de desenvolvemento e xa están ocupados.

O problema é que unha típica redirección ao estilo .htaccess non é unha posibilidade ... temos que escribir as redireccións en PHP. Como solución, diriximos as solicitudes a WordPress para identificar se hai redireccións en camiños antigos.

No header.php arquivo do tema do noso fillo, temos unha función:

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

Non nos molestamos en poñer a función en functions.php simplemente porque só afectaría ao ficheiro de cabeceira. Despois, dentro do ficheiro header.php, simplemente temos unha lista de todos os redireccionamentos:

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

Con esa función, tamén podes especificar a que tipo de redirección queres configurar a solicitude de cabeceira, acabámola por defecto a unha redirección 301 para que os motores de busca a cumpran.

¿Que pensas?

Este sitio usa Akismet para reducir o spam. Aprende a procesar os teus datos de comentarios.