De nombreux sites Web utilisent un lien similaire à celui-ci http://www.yourdomain.com/index.html/ vers leur page d'accueil. Le problème est que la plupart des liens externes pointant vers la page d’accueil du site Internet utilisent http://www.votredomaine.com/ , dispersant ainsi le poids des liens pointant vers le site Internet. Les webmasters qui ont remarqué cela et souhaitent résoudre leurs liens internes doivent effectuer une redirection 301 de http://www.yourdomain.com/index.html vers http://www.yourdomain.com/ . Mais si ce n’est pas bien géré, cela entraînera des problèmes de direction circulaire.
Lorsque quelqu'un entre sur http://www.votredomaine.com/ et accède à votre site Web, le système DNS Internet aide le navigateur à trouver le serveur sur lequel se trouve le site Web. Ensuite, comment le serveur du site Web décide-t-il ce qu'il souhaite afficher au navigateur ? doit appeler le serveur sur le disque dur du serveur du site Web.
Lorsqu'aucun fichier n'est spécifié (c'est-à-dire, comme dans l'exemple ci-dessus, seul le nom de domaine est spécifié), le serveur charge un fichier appelé fichier par défaut. Le nom de ce fichier est généralement index.html/index.htm/index.shtml/index.php ou default.asp.
Le nom de fichier peut en fait être n'importe quoi, mais la plupart des serveurs Web utilisent par défaut une sorte de nom de fichier. De nombreux CMS afficheront deux formes de page d'accueil de site Web : http://www.yourdomain.com/ et http://www.yourdomain.com/index.php , ce qui posera des problèmes.
Toutes les pages du site Web peuvent être liées à http://www.votredomaine.com/index.php , mais par habitude, la plupart des liens de page d'accueil qui vous sont fournis par des tiers pointent vers http://www.votredomaine.com / . Si les moteurs de recherche voient deux versions de la page d’accueil et pensent qu’il s’agit de fichiers distincts, vous rencontrerez un problème de contenu en double. Google a résolu ce problème intelligemment, mais il est préférable de ne pas s'appuyer sur eux.
Vous pouvez décider que la solution consiste à utiliser une redirection 301 de http://www.votredomaine.com/index.php vers http://www.votredomaine.com/. Cela semble génial, mais malheureusement il y a un gros problème. Lorsque le serveur voit une requête pour http://www.yourdomain.com/index.php et voit qu'il doit rediriger 301 vers http://www.yourdomain.com/ , il le fait. Mais quand il appelle http://www.yourdomain.com/, pour obtenir le fichier par défaut (index.php), il doit appeler http://www.yourdomain.com/index.php , puis le serveur vous voit. redirigez vers http://www.votredomaine.com/ , cela crée une boucle infinie.
Méthode de redirection de fichiers par défaut
La méthode suivante fait référence à l’exemple index.php précédent. Vous devez mettre le nom de fichier par défaut approprié pour votre propre serveur.
1. Copiez le contenu de index.php dans un autre fichier. Dans cet exemple, j'utilise sitehome.php.
2. Créez une directive Apache DirectoryIndex pour le répertoire racine du fichier et définissez-la sur sitehome.php. Ne définissez pas cette directive au niveau du serveur entier, sinon des problèmes se produiront dans d'autres dossiers qui nécessitent également index.php comme fichier par défaut dans le répertoire.
3. Mettez : DirectoryIndex sitehome.php dans le fichier .htaccess dans le répertoire racine du fichier. Ou si vous n'utilisez pas de fichiers distincts pour chaque répertoire, placez le code suivant dans votre fichier httpd.com :
<Répertoire/votre/document/root/examplesite.com/>
AnnuaireIndex sitehome.php
</Répertoire>
4. Supprimez le contenu du fichier index.php d'origine et insérez la ligne de code suivante :
<? header("Emplacement :http://www.example.com");?>
Ce paramètre fait que index.php n'est pas le fichier de la page d'accueil du répertoire (c'est-à-dire le nom de fichier par défaut). Forcer la lecture de sitehome.php lorsque quelqu'un entre l'URL canonique ( http://www.yourdomain.com/ ). Les requêtes vers index.php depuis l'ancien lien sont désormais redirigées avec un 301, tout en évitant une boucle infinie.
Si vous utilisez un CMS, après avoir configuré ce qui précède, vous devez également vous assurer que tous les liens de contenu pointent vers l'URL canonique ( http://www.votredomaine.com/ ). Si, pour une raison quelconque, le CMS commence à pointer vers http://www.yourdomain.com/sitehome.php , le problème de boucle se reproduira, vous obligeant à recommencer tout le processus.
L'article a été publié pour la première fois par Zhanjiang SEO http://www.wwoyy.com, veuillez le conserver pour le réimprimer !
(Editeur : Yang Yang) L'espace personnel de l'auteur Tiandao Ruowen