2010-10-07 7 views
1

J'ai besoin d'aide pour décider comment rediriger mes anciennes urls vers les nouvelles. En ce moment, je les urls commeRediriger les anciennes urls après la réécriture de l'url

myhost.com/viewrecipe.php?id=2

Mais je veux qu'ils ressemblent

myhost.com/recipes/pear-pie

Le problème est que le site est déjà indexé dans Google. Est-il possible d'écrire une redirection 301 pour les moteurs de recherche afin de les rediriger de l'ancien type d'URL vers le nouveau?

S'il est impossible de réaliser sans utiliser id dans le nouveau type d'URL, quelles sont les autres options pour rendre la transition aussi facile que possible pour le moteur de recherche?

P.S. toutes ces URL sont dynamiques

Répondre

0

Vous pouvez utiliser un fichier .htaccess dans la racine de votre application contenant:

redirect 301 viewrecipe.php?id=2 http://www.myhost.com/recipes/pear-pie 

Oui, ce sera nécessaire pour toutes vos URL ... sinon vous ne pouvez pas essayer d'écrire un réécrire mais vous aurez supprimé l'identifiant sur la nouvelle URL conviviale.

Une autre façon sera de pouvoir accès à viewrecipie.php id = 2 et le code quelque chose comme:

<?php 
// get the new name dependeind of the id 
$slug = Posts::getByID($id); 

header("HTTP/1.1 301 Moved Permanently"); 
header("Location: http://www.myhost.com/recipes/".$slug); 
?> 

Et un chemin le plus court:

header("Location: http://www.myhost.com/recipes/".$slug",TRUE,301); 
+0

Merci, ceux-ci ont été les seulement des moyens qui me sont venus à l'esprit et vous les avez confirmés :) – jusik

0

Avez-vous essayé un [R = 301] après votre règle de réécriture?

Questions connexes