Poppy Posté 21 Février 2005 Posté 21 Février 2005 (modifié) Bonjour, Suite à ce topic : http://www.webmaster-hub.com/index.php?showtopic=7667 J'ai voulu faire de même, or il n'y a juste qu'une redirection, l'url de ma page rechange après Pouvez-vous jeter un coup d'oeil: http://www.cool-attitude.net/index.php?cat=article&id=12681 http://www.cool-attitude.net/article-referencement.html .htaccess RewriteRule ^article-([a-z]+)?.html$ pages/fonction.php?nom=$1 [L] fonction.php <?function code_url($string){$string = strtolower($string);$string = str_replace("( |')", "_", $string);$accent = array('â','à','é','è','ê','î','ô','û','ç');$sans_accent = array('a','a','e','e','e','i','o','u','c');$string = str_replace($accent, $sans_accent, $string);$string = eregi_replace("[^a-z0-9]","_",$string);$string = eregi_replace("(^(_)*|(_)*$)","",$string);return $string;}// connexion$db_server = "****"; // The name of your server$db_username = "****"; // The MySQL username$db_password = "***"; // The MySQL password$db_name = "****"; // The name of the database where your forums are installedmysql_connect("$db_server","$db_username","$db_password");mysql_select_db("$db_name");$DB = mysql_query("SELECT title, tid FROM ibf_topics ORDER BY tid ASC");while ($i=mysql_fetch_array($DB)) { if (code_url($i["title"])==$_GET["nom"]) { header("HTTP/1.1 301 Moved Permanently"); $id=$i["tid"]; header("Location:http://www.cool-attitude.net/index.php?cat=article&id=$id"); header("Connection: close"); } }?> Merci d'avance, Sébastien Modifié 21 Février 2005 par Poppy
Phobos Posté 21 Février 2005 Posté 21 Février 2005 (modifié) Salut, Tu fais toi même la redirection là : header("HTTP/1.1 301 Moved Permanently");$id=$i["tid"];header("Location:http://www.cool-attitude.net/index.php?cat=article&id=$id");header("Connection: close"); remplace peut être cela par: $id=$i["tid"];include("index.php?cat=article&id=$id"); Modifié 21 Février 2005 par Phobos
Dan Posté 21 Février 2005 Posté 21 Février 2005 Bonjour Poppy, A mon sens l'erreur se trouve à deux niveaux. Le premier niveau est l'utilisation d'une entête 301 vers l'URL non réécrite. Le but n'est pas que les moteurs indexent cette URL non réécrite mais la forme "user friendly", non ? Dans ce cas, l'entête 301 est de trop. Le deuxième niveau concerne l'utilisation de la fonction header(). Celle-ci fera toujours changer l'URL apparente de ta page. Elle n'offre pas du tout les mêmes fonctionnalités qu'une redirection Apache faite par mod_rewrite vu qu'elle est utilisée pour les redirections et non pour les réécritures d'URLs. Dan
Poppy Posté 21 Février 2005 Auteur Posté 21 Février 2005 Merci Phobos, ça marche à présent $id=$i["tid"];include("index.php?cat=article&id=$id"); Il n'a pas aimé le lien relatif, alors j'ai mis le chemin entier Je vous remercie tous les deux pour votre aide précieuse, je suis trop content
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant