Rediriger WordPress dans l'en-tête

Redirection d'en-tête WordPress

au jugement, plugin de redirection construit pour WordPress est un moyen fantastique d'organiser et de gérer les redirections. Je l'utilise sur ce site et j'ai organisé mes groupes de redirections pour les articles mis à jour, les liens d'affiliation, les téléchargements, etc.

Cependant, j'ai rencontré un problème unique où j'ai configuré un proxy inverse pour un client où WordPress s'exécute sur un chemin… mais pas à la racine du site. Le site principal s'exécute sur IIS dans Azure. IIS peut gérer les redirections comme n'importe quel serveur Web, mais le problème est que ce client aurait besoin de mettre la gestion des redirections dans son processus de développement - et ils sont déjà occupés.

Le problème est qu'une redirection de style .htaccess typique n'est pas une possibilité… nous devons en fait écrire les redirections en PHP. En guise de solution, nous acheminons les requêtes vers WordPress pour identifier s'il y a des redirections sur les anciens chemins.

au sein de la header.php fichier de notre thème enfant, nous avons une fonction:

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

Nous n'avons pas pris la peine de mettre la fonction dans functions.php simplement parce que cela n'aurait d'impact que sur le fichier d'en-tête. Ensuite, dans le fichier header.php, nous avons simplement une liste de toutes les redirections :

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

Avec cette fonction, vous pouvez également spécifier le type de redirection sur lequel vous souhaitez définir la demande d'en-tête, nous venons de le définir par défaut sur une redirection 301 afin que les moteurs de recherche l'honorent.

Que pensez-vous?

Ce site utilise Akismet pour réduire les spams. Découvrez comment sont traitées les données de vos commentaires..