En réalité, sur mon site web, a nombre important de pages ont bougé, tourné, viré au cours de l’année écoulée. De plus certaines pages sont situées à des endroits tellement enfoncés que le chemin pour y accéder commence à devenir insupportable à taper au clavier.
La solution à ces problèmes semble bien résider dans l’emploi d’un service de redirection de page. Dans Apache (le serveur web sur lequel fonctionne roumazeilles.net), cela passe par l’écriture d’une ou plusieurs commandes dnas le fichier .htacess
. Voyons comment cela marche.
Il faut commencer par vous donner une première idée de ce que ce fichier discret peut vraiment faire. Etonnament, depuis un seul emplacement, il fournit toute une collection de services (y compris l’autentification, par exemple), et il devient facile de rediriger d’une adresse à une autre.
Voici une page qui vous donnera des détails et des exemples à propos de la redirection par .htaccess
.
L’avantage est qu’en quelques instructions, il est possible d’en cacher toute la complexité aux visiteurs.
Redirection d’une page
J’avais plusieurs pages qui étaient installés – initialement – dans le répertoire racine de la structure de mon site web. C’était bien pratique quand il n’y avait que quelques fichiers dans le site. Mais, aujourd’hui, il y a des milliers des fichiers et ce serait folie que de les laisser tous à la racine du site. Néanmoins, les vieux chemins d’accès sont retenus sur des sites, des liens, des moteurs de recherche. La solution : Déplacer tous ces fichiers dans leur propre répertoire et ajouter une redirection.
Exemple : fichiers shareware (les pages qui décrivent encore ce vieux business de vente de logiciel – utilisant le modèle d’affaire shareware).
Le code que j’ai utilisé (dans le fichier /.htaccess
) :
Redirect 301 /ygrep.htm http://roumazeilles.net/ygrep/ygrep.php
Redirect 301 /bitlist.htm http://roumazeilles.net/ygrep/bitlist.php
Redirect 301 /clusterv.htm http://roumazeilles.net/ygrep/clusterv.php
Redirection de tout un répertoire
Je voulais simplifier le chemin d’accès aux pages WordPress (elles ont un chemin d’accès plutôt long dans le style de https://www.roumazeilles.net/news/fr/wordpress/category/inclassable/ et je souhaitais le réduire à https://www.roumazeilles.net/fr/category/inclassable/ (qui serait un progrés notable, n’est-ce pas ?).
Le code que j’ai utilisé (dans le fichier /.htaccess
) :
Redirect 301 /fr http://roumazeilles.net/news/en/wordpress
Je voulais encore déplacer un paquet de fichiers d’un endroit à un autre (dans un mouvement de traduction de l’anglais vers le français). Masi, il y avait déjà un trafic important en direction des pages initiales et je ne souhaitais pas le perdre ou le détourner.
Le code que j’ai utilisé (dans le fichier /.htaccess
) :
RedirectMatch 301 /photo/(.*)\.htm$ http://roumazeilles.net/photo/en/$1.php
Conseil complémentaire
Souvenez-vous que votre serveur Apache a besoin de pouvoir accéder à ce fichier de manière interne. Le conseil habituel est de ficer les droits d’accés par la commande suivante :
chmod 664 .htaccess
Comme le serveur web cherche toujours en plusieurs emplacements différents avant de décider quelle redirection adopter, il est vivement conseillé de grouper toutes les commandes de redirection à un seul endroit (le fichier .htaccess
dans le répertoire racine du site web). Cela réduit légèrement la charge de travail pour votre serveur web en lui évitant de chercher partout pour trouver les commandes nécessaires.
De plus, la syntaxe du fichier .htaccess
dans les répertoires locaux devient parfois un peu complexe à cause de la nécessité d’utiliser des chemins d’accés relatifs.
Enfin, un dernier conseil : .htaccess
peut être utilisé pour faire de l’autentification. Néanmoins, c’est légèrement moins sûr que de le faire directement depuis la configuration du serveur (parce que le fichier .htaccess
peut facilement devenir lisible par tous les visiteurs alors qu’il contient tout de même des informations confidentielles – des mots de passe, même s’ils ne sont pas toujours en clair).
Laisser un commentaire