Htaccess redirection de pages html et mysql

WRInaute discret
J ai refait une partie de mon site qui avait beaucoup des fichiers sous forment .html. j'ai fait une base de donnése mysql.

Mais je constate deux problèmes

L’ adresse de mes nouveaux fichiers ont cette forme

http://www.xxxx.com/fiche-xxxx.php?VARaaaID=31

et les mots clefs qui étaient attribuées à chacun de mes fichiers ne sont plus présents.

j’ai fait un fichier htaccess

avec le code suivant (j ai fait pour une fiche seulement pour voir)

RewriteRule ^fichexxx.html /fiche-xxxx.php?VARaaaID=31 [R=301,L]

Il fonctionne correctement mais n apporte rien de nouveau

Que dois je faire pour que les nouvelles url soient en html et que je puisse attribuer à chaque page les mots clefs qui lui sont propres.

Dois je refaire des pages html en parallèles avec les pages php de la base mysql ?

J avoue que je ne comprends pas
 
WRInaute discret
suite à ta réponse webmasterlamogere

Merci de ta réponse webmasterlamogere

Mais c'est peut être là que je comprends pas

Il faut peut-être changer les liens dans tes pages pour mettre les URL "html"?

http://www.monsite.com/fiche-xxxx.php?VARaaaID=31

Le script php sort ce code pour la mettre en ligne la page demandée. Comment puis mettre ces page avec URL en html par exemple ?

Dois je faire cela pour chaque page ?

Par exemple

http://www.monsite.com/fiche-xxxx.php?VARaaaID=32


je comprendrais peut être avec des exemples à partir des codes ci dessus

Merci
 
WRInaute passionné
La première étape est de modifier le fichier htaccess pour que les url fichexxx.html soit réécrites automatiquement en fiche-xxxx.php?VARaaaID=31. Je pense que tu as déjà fait cette étape.

La deuxième chose à faire c'est de changer les liens qui se trouve sur tes pages. Tu dois remplacer les :
<a href="fiche-xxxx.php?VARaaaID=31" ...
par :
<a href="fichexxx.html" ...
 
WRInaute discret
Suite à ta réponse qui touche je pense le coeur de mon problème

Code:
a deuxième chose à faire c'est de changer les liens qui se trouve sur tes pages. Tu dois remplacer les :
<a href="fiche-xxxx.php?VARaaaID=31" ...

Pour le moment j ai pas de liens de ce type dans mes pages pour les données qui sortent de mes bases mySQL j en ai pas l'utilité puisque c est un script PHP qui les crées voir ci dessous la ligne.

<?php echo $row_rscoordonnees['titre']; ?>

cette ligne renvoie à un lien php qui affiche la page recherchée

est programmée sous cette forme :

<a href="fiche-xxxxx.php?VARxxxxxxxID=<?php echo $row_rscoordonnees['ID'];


Faut t il que je crée une page spéciale avec des liens de type html qui correspondent aux pages

<a href="fiche-xxxx.php?VARaaaID=31" ... qui sortent de la base mySql

<a href="fichexxx.html" ...
 
WRInaute passionné
je confirme : il faut que tu changes le code qui génère les url de tes liens pour mettre l'url "html".

Si tu ne peux pas changer ce code, il faut faire une redirection 301 en début de fiche-xxxx.php.
Code:
if ($_ENV['SCRIPT_URL'] <> 'fichexxx.html') {
  header("Status: 301 Moved Permanently", false, 301);
  header("Location: fichexxx.html");
  exit;
}
 
WRInaute discret
suite à réponse de webmasterlamogere

J ai fait des essais

j ai fait quelques pages html type fiche1.html .. autresfiche2html.. qui correspondent aux titres dans la base mysql.

puis un page html avec des liens html de type

<a href="fiche1.html"> .. <a href="autrefiche2.html">

Puis dans le ficher htaccess

J ai fait une redirection

RewriteRule ^fiche1.html /fiche-actualite.php?VARchroniquesID=31 [R=301,L]

ca fonctionne mais ça ma semble un peu lourd


le code que tu m as donné plus haut permet surement de simplifier
je ai écrit un mp à ce sujet
 
WRInaute discret
Résultat htaccess redirection de pages html et mysql

Suite aux messages précédents dans ce Post je n ai pas de résultats pour ce travail de redirection. Pouvez vous me dire si ce que j ai entrepris est correct ou ce qu'il y a à changer ?

Pour améliorer le référencement des fichiers de ma base MySql

J’ai fait un fichier htaccess (c est un exemple avec un seul fichier)

avec le code suivant :

RewriteRule ^fichexxx.html /fiche-xxxx.php?VARaaaID=31 [R=301,L]


Mais comme il faut changer les liens dans mes pages pour mettre des URL html visible par les moteurs


J ai donc créé un fichier HTML fichexxx.html qui correspond à la page > fiche-xxxx.php?VARaaaID=31

J ai crée un fichier html qui comporte un lien vers fichexxx.html avec le code suivant

<a href=" fichexxx.html "><strong>fiche html </strong></a>

Qui comporte un lien vers cette page Html

Ce lien est repris par le fichier htaccess qui est décrit plus haut. Cette page en html n est donc pas visible car elle est rediriger automatiquement vers la fiche de la base mySQL c est à dire fiche-xxxx.php?VARaaaID=31

Cette procédure fonctionne sans erreur sur mon site. Mais je voudrais savoir si ce que j ai fait est correct et s il y a des chances que les moteurs de recherche (Google) voient mieux mes pages venant de la base MySql.
 

➡️ 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