J'ai décidé de changer tout mon (http://www.tamingthebeast.net) - la bonne façon - un site htack 301
Redirection: une redirection de 301 est la plus
Efficace et Spider / Visiteur amical
stratégie autour de sites Web qui
sont hébergés sur des serveurs exécutant Apache. P>
BlockQuote> Cependant, depuis que j'ai des milliers de pages, je dois utiliser la redirection pour, il semble assez inefficace d'avoir des milliers d'entrées dans le fichier .Htacess: p> ma question est si cette méthode est si cette méthode Effectuera de manière négative sur les classements de mes pages, compte tenu du paragraphe que j'ai cité ci-dessus que la meilleure façon de faire une redirection passe par le .htaccess. p> merci! p> p> /dyanmic.php?uid = ... code> pages à
/ statique / nom-from-db code>.
J'ai lu que la meilleure façon de faire la redirection, du SEO sage, est de mettre en œuvre une redirection de 301 .htacess:
5 Réponses :
Les mêmes en-têtes seront envoyés la même quelle que soit la façon dont vous le faites. Par conséquent, à l'utilisateur (ou à un moteur de recherche), il ne sera différent que de sorte que le PHP n'effectue pas négativement votre classement de page par rapport à la voie .htaccess. P>
La voie PHP sera un peu plus lente à chaque fois que la page est accessible qu'une requête de base de données est tirée. Si le site n'a pas trop de trafic allant à ces pages, cela ne devrait pas être un problème. P>
Dans votre page PHP, effectuez d'abord la connexion de la base de données car si la page n'existe pas, vous voudrez soit les rediriger vers une autre page ou passer des en-têtes d'erreur 404 au lieu de l'en-tête 301. P>
non. Le client voit la même chose dans les deux cas: une redirection de 301. La seule différence pourrait être de retard, car le fichier .htaccess est traité avant le fichier PHP, et la requête SQL peut ajouter un certain délai, mais je pense que le retard est insignifiant de manière insignifiante. P>
Ma question est si cette méthode s'effectuera de manière négative sur les classements de mes pages, compte tenu du paragraphe que j'ai cité au-dessus de la meilleure façon de faire une redirection consiste à traverser le .htaccess. P>
non fort>, il ne sera pas fourni em> que vous implémentez la redirection correctement dans votre fichier php! C'est-à-dire que vous devriez probablement rechercher le nom
code> (par
uid code>) avant em> émettre le
301 code> en-tête (et Seuls em> émettez-le lorsqu'un nom
nom code> est trouvé - sinon c'est un
404 code>). p>
aussi, pourquoi ne pas gérer un Requête sur votre base de données, émettez les redirections dans
.htaccess code> et écrivez cela directement sur le fichier
.htaccess code>? De cette façon, vous devrez
le faire uniquement une fois que strong> et ne devrez pas vous soucier de non existant uid code>'s. P>
Modifier strong> - Pseudocode P> str â "" for each (uid, Name) in database: line â concat("Redirect 301 /dynamid.php?UID=", uid, "http://www.domain.com/static/", Name, <newline>) append line to str copy or write str to .htaccess
Tout d'abord, merci pour la réponse. Le seul inconvénient que j'ai vu de cette manière est que finalement, avec le temps, je pense que la majorité des visiteurs arriveront à la / statique / page et non le /dynamic.php. Je pense donc que la liste 3000+ réidcrection dans le fichier .htaccess sera une surcharge car la plupart des visiteurs arriveront / statiques / et non / dynamiques, mais devront toujours passer à travers les 3000 lignes du .htaccess à voir s'ils correspondre à toute règle de redirection. Peut-être que je me trompe?
@Joel Oui Dans ce cas, la solution PHP dynamique est probablement plus facile à maintenir et à moins de ressources intensives à long terme. N'oubliez pas de mettre en œuvre le redirection correctement.
Il n'affectera pas votre pageranking -. Google apprécie quand vous leur dites à vos pages a déménagé et que vous ne maintenir votre site avec un contenu en double p>
Mais comme dit dans d'autres réponses, l'en-tête est le même que vous l'envoyez de PHP ou via Apache - votre objectif devrait être de la manière de minimiser votre travail; Maintenant et à l'avenir. P>
En tapant manuellement la redirection dans .htaccess, vous vous donnez en réalité plus de travail, alors nécessaire lorsque vous comparez pour ajouter de manière dynamique les en-têtes à travers votre PHP en cas de besoin. P>
... La meilleure façon de faire une redirection est via le .htaccess ... p> blockQuote>
Si vous êtes sur un serveur partagé, cela peut être le cas, mais, en référence à une longue ou même une courte liste de fichiers, ce fichier .htaccess va être recherché avec chaque accès de fichiers dans votre page - Chaque graphique, chaque fichier inclut, etc. p>
Non seulement cela, mais si vous êtes quelques niveaux de profondeur, il vérifie les fichiers .htaccess dans tous les annuaires parents. Donc, si votre fichier est à home / dir1 / dir2 / dir3, il va vérifier les fichiers .htaccess dans chaque répertoire avec chaque accès de fichier:
Accueil / Dir1 / Dir2 / Dir3 /
Accueil / Dir1 / Dir2 /
Accueil / Dir1 /
Accueil / P>meilleur pour le garder aussi léger que possible. Si vous n'êtes pas sur un serveur partagé, vous ne devez pas utiliser de fichiers .htaccess. Entrez toutes les directives dans le fichier de configuration principal, sous Directory et définissez l'adipoverride à «Aucun». p>
Votre exemple de code PHP n'est pas sûr. Je contient un bogue SQL-injection! Vous devez échapper à $ _GET ["ID"]!