Redirection d'une url rewrit vers nouvelle url rewrit

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics


keroin
WRInaute accro
WRInaute accro
 
Messages: 2299
Inscription: Sam Avr 29, 2006 16:33

Redirection d'une url rewrit vers nouvelle url rewrit

Message le Jeu Juil 12, 2007 22:08

Bonsoir à tous,
Je cherche à rediriger via htaccess mes anciennes url rewritées (pas mal sont référencées) vers une nouvelle url rewritée.

En fait le rewrit fonctionne mais maintenant je dois rediriger les url référencées dans les moteurs vers les bonnes avec la nouvelle règle (oula pas très clair moi)

Voici mon ancienne règle de rewriting

Code: Tout sélectionner
RewriteRule ^site-(.*).html$ /infos.php?id=$1 [L]


Et voici la nouvelle

Code: Tout sélectionner
RewriteRule -s([0-9]*)\.html$  /page_site.php?id=$1 [L]


Quelle formule employer pour obtenir une redirection 301 des anciennes vers les nouvelles et que cela soit transparent pour les visiteurs venant des moteurs ?
Merci
Dernière édition par keroin le Ven Juil 13, 2007 2:55, édité 1 fois.


HawkEye
Modérateur
Modérateur
 
Messages: 15029
Inscription: Lun Fév 23, 2004 12:33

Message le Jeu Juil 12, 2007 22:30

Si tu passes la première en
Code: Tout sélectionner
RewriteRule ^site-(.*).html$ -s($1).html [QSA,L,R=301]
, ça donne quoi ?

PS: sinon, dans index.php, une vérification d'URL:

Code: Tout sélectionner
if($id)
{
if($_SERVER['REQUEST_URI'] != '-s'.$id.'.html)
  {
  header("Status: 301 Moved Permanently", false, 301);
  header("Location: http://".$_SERVER['HTTP_HOST']."/-s".$id.".html");
   exit;
  }
}


...peut aider également.


keroin
WRInaute accro
WRInaute accro
 
Messages: 2299
Inscription: Sam Avr 29, 2006 16:33

Message le Jeu Juil 12, 2007 23:30

Pour le moment la première ne fonctionne pas car il y a une deuxième variable qui entre en jeu qui n'est pas dans ma BDD mais transformée en php (une partie du titre de la page).

Pour la seconde j'obtiens des url avec tout le chemin vers la racine de mon serveur chez 1&1 dedans ???

Je fais des tests en ce moment pour trouver la bonne combinaison.

bhamp0 (sur le chat) m'a conseillé de passer par un fichier supplémentaire (redirection.php) pour éviter le duplicate content.

Ce qui donne dans le htaccess
RewriteRule ^site-([0-9]+).html$ redirection.php?id=$1 [R=301,L]

Et là ou je galère c'est pour pondre le code contenu dans le fichier redirection.php

ça doit être quelque chose comme ça

Code: Tout sélectionner
<?php
$lk = connection_BD(); // Connection

// Recherche des variables dans la BDD
$sql = "SELECT * FROM $T_sites";
//envoi de la requete
$res = send_sql($sql,"trouver les variables");

while($infos = mysql_fetch_array($res))
{
   $id = $infos['id'];
   $titre = $infos['titre'];
   $url_du_site_rw = id_to_url_page_site($infos['id'],$infos['titre']);

{
  header("Status: 301 Moved Permanently", false, 301);
  header("Location: http://".$_SERVER['HTTP_HOST']."/".$url_du_site_rw."-s".$id.".html");
   exit;
  }
?>


Mais rien à faire ça passe pas ???
ça doit être bourré d'erreur donc n'hésitez pas à les signaler ;)


Bh@Mp0
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 245
Inscription: Mar Jan 18, 2005 19:02

Message le Jeu Juil 12, 2007 23:47

Code: Tout sélectionner
<?php
// include pour la connexion
include("data_bd_annuaire.php");

// include pour la fonction id_to_url_page_site()
include("functions.php");

// Connexion
$lk = connection_BD();

// on vérifier la variable id
if(empty($_GET["id"])) exit;
$id = $_GET["id"];

// Recherche des variables dans la BDD
$sql = "SELECT titre FROM $T_sites WHERE id = '".$id."'";

//envoi de la requete
$res = send_sql($sql, "trouver le titre");

// on récupère le titre "brut"
$row = mysql_fetch_assoc($res);

// on le modifie à notre sauce
$url_du_site_rw = id_to_url_page_site($id, $row["titre"]);

// on envoie la sauce
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://".$_SERVER['HTTP_HOST']."/".$url_du_site_rw);
exit;
?>


keroin
WRInaute accro
WRInaute accro
 
Messages: 2299
Inscription: Sam Avr 29, 2006 16:33

Message le Jeu Juil 12, 2007 23:58

Un très grand merci à Bh@Mp0 qui m'a donné un grand coup de mains sur ce coup là (le code fonctionne à la perfection) :D
=> j'aime bien les commentaires du code alors je les ai laissé^^

Et évidemment un grand merci aussi au maître Jedi Hawk qui a indiqué la voie à suivre au jeune padawan que je suis...

@Bh@Mp0 : pour te remercier, si tu as besoin de BL pour un de tes sites, hésites pas ce sera avec plaisir (url et anchor par MP)...pas des sites de fesse hein^^

@Hawk : je t'aurais bien proposé la même chose mais tu es déjà sur ma home alors grand merci à toi.


Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités