Redirecionar WordPress no cabeçalho

Redirecionamento de cabeçalho do WordPress

A plugin de redirecionamento construído para WordPress é um meio fantástico de organizar e gerenciar redirecionamentos. Eu o uso neste site e organizei meus grupos de redirecionamentos para postagens atualizadas, links de afiliados, downloads, etc.

No entanto, encontrei um problema único em que tenho um proxy reverso configurado para um cliente onde o WordPress está sendo executado em um caminho ... mas não na raiz do site. O site primário está sendo executado no IIS no Azure. O IIS pode gerenciar redirecionamentos da mesma forma que qualquer servidor web pode, mas o problema é que esse cliente precisaria colocar o gerenciamento de redirecionamentos em seu processo de desenvolvimento - e eles já estão ocupados.

O problema é que um redirecionamento típico de estilo .htaccess não é uma possibilidade ... temos que escrever os redirecionamentos em PHP. Como solução, encaminhamos as solicitações para o WordPress para identificar se há algum redirecionamento em caminhos antigos.

Dentro do header.php arquivo do nosso tema filho, temos uma função:

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

Não nos preocupamos em colocar a função em functions.php simplesmente porque isso afetaria apenas o arquivo de cabeçalho. Então, dentro do arquivo header.php, simplesmente temos uma lista de todos os redirecionamentos:

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

Com essa função, você também pode especificar o tipo de redirecionamento que deseja definir para a solicitação de cabeçalho; acabamos de padronizá-lo como um redirecionamento 301 para que os mecanismos de pesquisa o honrem.

O que você acha?

Este site usa o Akismet para reduzir o spam. Saiba como seus dados de comentário são processados.