ensemblevide Posté 23 Septembre 2005 Posté 23 Septembre 2005 Bonjour, J'utilise la réécriture d'url depuis 1 an et le passage de mon site sous SPIP 1.7.2. Aujourd'hui je viens de passer en 1.8.2. Cette version propose plein de bonnes choses dont une méthode de réécriture mieux foutue que la mienne. En effet, l'inconvénient de ma méthode est que les url contiennent le titre des pages séparés par des _. Or j'ai eu la confirmation qu'il valait mieux utiliser les tirets à la place. La nouvelle méthode permet de faire cela. Pour infos Google a bien référencé toutes mes pages. Donc je veux faire des redirections des anciennes urls vers les nouvelles avec code 301. Donc je détaille. Initialement je réécris les urls des articles, rubriques et brèves. J'ai mis les fonctions pour générer les url : par ex : function generer_url_article($id_article) { if (! $id_article) $id_article = 0; $result = spip_query("SELECT id_secteur,titre FROM spip_articlesWHERE id_article=$id_article"); $row = spip_fetch_array($result); $id_secteur = $row['id_secteur']; $titre = trim($row['titre']); $url = "article-".translitteration(nettoyerURL($titre))."-$id_article.html"; if ($GLOBALS['recherche']) $url .="?var_recherche=".urlencode($GLOBALS['recherche']); return $url;} pareil pour rubrique et brève. Sauf que devant l'url il y a rubrique- et breve- Ainsi mes urls sont du type : article-le_titre_article-numerodelarticle.html Dans le htaccess : RewriteRule ([a-z]+)-([^=]*)-([0-9]+).html$ /$1.php3?id_$1=$3 [L] La méthode que je souhaite appliquer maintenant est déjà définie (merci les gens de Spip !): Ainsi dans le htaccess : RewriteRule ^\+[^/\.]+\+?(\.html)?$ breve.php3 [QSA,E=url_propre:$0,L]RewriteRule ^-[^/\.]+-?(\.html)?$ rubrique.php3 [QSA,E=url_propre:$0,L]RewriteRule ^[^/\.]+(\.html)?$ article.php3 [QSA,E=url_propre:$0,L] Et le code est : function generer_url_article($id_article) { $url = _generer_url_propre('article', $id_article); if ($url) return $url . _terminaison_urls_propres; else return "article.php3?id_article=$id_article";}function generer_url_rubrique($id_rubrique) { $url = _generer_url_propre('rubrique', $id_rubrique); if ($url) return '-'.$url.'-'._terminaison_urls_propres; else return "rubrique.php3?id_rubrique=$id_rubrique";}function generer_url_breve($id_breve) { $url = _generer_url_propre('breve', $id_breve); if ($url) return '+'.$url.'+'._terminaison_urls_propres; else return "breve.php3?id_breve=$id_breve";} Par exemple un article aura cette url : le-titre-de-mon-article.html une breve : +le-titre-de-ma-breve+.html une rubrique : -le-titre-de-ma-rubrique-.html Maintenant comment dans le htaccess faire pour que mes anciennes url soient redirigées vers les nouvelles ? Je vais faire pour les MR des redirections permanentes avec le code 301. Pour vous aidez à comprendre, mon site est www.francomix.com Merci d'avance Philippe
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant