web-dev-qa-db-fra.com

Puis-je utiliser la méta-actualisation au lieu de la redirection 301?

J'ai envoyé mon site avec des URL laides à Google. À présent, ils apparaissent sous le nom mysite.com/show.php?id=42.

Maintenant, je sais que je peux le rediriger vers mysite.com/article/42. Cependant, mon site utilise la forme de l'URL comme un échange de pile, donc comme ceci mysite.com/article/42/title-of-my-article qui est en fait index.php?what=content&id=42&title=title-of-my-article.

Par conséquent, je ne peux pas utiliser uniquement . Htaccess pour cela, non?

Alors ça va marcher si je fais ça?

  • Conservez show.php comme nœud de redirection
  • si l'utilisateur vient à show.php?id=42, récupère l'article de titre avec id=42 et echo "<meta http-equiv='refresh' content='0; url=http://mysite.com/article/42/$title'>

Cela fonctionnera pour les visiteurs, mais cela aidera-t-il Google à comprendre et à changer l'URL du nouveau?

3
jeff

Dans votre show.php, il semble que vous ayez le titre dont vous avez besoin pour l'URL. Ainsi, au lieu d’échanger la balise META, utilisez PHP pour effectuer une redirection 301:

header("HTTP/1.1 301 Moved Permanently"); 
header("Location: http://mysite.com/article/42/$title"); 
2
DisgruntledGoat