Redirections 301 Joomla 1.5

Bonjour à tous,

Je sais que la question des redirections à déjà été abordées plus d'une fois sur le forum, mais je ne trouve pas de réponse à ce cas précis.

J'ai un site joomla 1.5.8 (oui je sais, il faudrait que je fasse la maj ;)) en activité depuis quelques temps, mais sans l'url rewriting d'activée.

J'ai donc renommé le htaccess.txt en .htaccess pour l'activation et configuré joomla comme il faut.
=> Jusque là pas de problème, mes url sont biens réécrites.

J'en ai profité pour faire la redirection non-www vers www avec
Code:
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
=>pas de pb non plus.

Là où je bloque c'est pour faire les redirections 301 des anciennes url non réécrites vers les nouvelles réécrites pour indiquer à google (et autres) le changement.

exemple: comment rediriger ?
http://www.mondomaine.com/index.php?option=com_content&view=article&id=35&Itemid=29
vers
http://www.mondomaine.com/mentions-legales.html

J'ai essayé
Code:
RedirectPermanent /index.php?option=com_content&view=article&id=35&Itemid=29 http://www.mondomaine.com/mentions-legales.html
=> marche pas
Code:
RewrituRule ^index.php?option=com_content&view=article&id=35&Itemid=29 http://www.mondomaine.com/mentions-legales.html$ [R=301,L]
=> marche pas

Auriez-vous une idée ?

Merci d'avance.
 
salut

c'est automatique. Pas besoin de faire des 301.

tu peux en profiter pour utiliser sh404SEF en version J1.5 pour mieux maitriser ces urls.

cdt
 
loran750 a dit:
c'est automatique. Pas besoin de faire des 301.
Ah bon !! Comment google va savoir que l'url non réécrite a été modifiée ??

tu peux en profiter pour utiliser sh404SEF en version J1.5 pour mieux maitriser ces urls.
C'est ce que je voulais, mais pas sûr de vouloir débourser 40$...

Merci en tout cas :wink:
 
A placer en tête du fichier index.php du template utilisé et pour chaque url à rediriger.
Code:
if ($_SERVER['REQUEST_URI'] == "/index.php?option=com_content&view=article&id=35&Itemid=29") {
  header("HTTP/1.1 301 Moved Permanently");
  header("Location: http://www.mondomaine.com/mentions-legales.html");
  exit();
}
Si tu as plusieurs urls à rediriger, tu peux aussi les lister toutes dans un même fichier que tu incluras. Toujour en tête de l'index.php du template actif.
Code:
<?php include('fichier_urls.php'); ?>
 
Pour le coup, si tu en as plusieurs, une structure en switch / case risque de s'imposer, plutôt que de faire 40 000 if de suite.
 
Je dois en avoir une 100aine donc la suite de if, ça me va :).

Merci beaucoup pour vos réponses. Je mets ça en place et je vous tiens au courant du résultat.
 
dangee a dit:
Je dois en avoir une 100aine donc la suite de if, ça me va :).

C'est justement totalement pas optimisé de procéder ainsi. La totalité des if sont exécutés à chaque fois. Un switch / case ordonné par poids des url d'origine permettrait de carrément alléger la chose.
 
Code:
switch ($_SERVER['REQUEST_URI'])
{
     case "/index.php?option=com_content&view=article&id=35&Itemid=29":
          header("HTTP/1.1 301 Moved Permanently");
          header("Location: http://www.mondomaine.com/mentions-legales.html");
          exit();
     break;
}

En triant les case en fonction du trafic des url (de celles qui font le plus de trafic à celles qui en font le moins), et en répétant le bloc

Code:
case :
break;

pour chaque url à rediriger.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut