Rewriting HTML vers PHP ??

Nouveau WRInaute
Bonjour,

J'ai de nombreuses pages HTML que j'ai transformé en PHP (avec le même nom ex: toto.html=toto.php, ou index.html=index.php).
J'ai cherché une solution pour informer les robots de ces modifs et aussi faire un redirection pour les visiteurs vers les bonnes pages dans mon htaccess,
et je n'ai trouvé que cette ligne :

RewriteRule ^article-([0-9]*).php archives-$1.html [R=301]

Est ce que cette ligne est bonne s'il vous plait??? Si non, indiquez moi la formulation correcte.

voila comment est mon htaccess actuellement:

RewriteRule ^article-([0-9]*).php archives-$1.html [R=301]
DirectoryIndex index.php index.html index.htm
ErrorDocument 400 /erreur.php
ErrorDocument 401 /erreur.php
ErrorDocument 403 /erreur.php
ErrorDocument 404 /erreur.php
ErrorDocument 500 /erreur.php

Et y a t-il aussi un ordre de ligne à respecter?
Merci
 
Nouveau WRInaute
complement info

J'ajoute que par mes pages erreur.php on me signale que la page toto.html n'a pas été trouvée (et oui elle s'appele toto.php maintenant), ce qui me laisse fortement penser que la ligne ne semble pas correcte, car il n'y a pas de redirection.

Mais alors peut être il y a aussi un grave problème pour le référencement des nouvelles pages en PHP?

Pour faciliter (dans l'urgence) j'ai fait des REFRESH 0 sur certaines pages HTML pour les rediriger vers les PHP.

Vos lumières vers un novice que je suis me seraient d'un grand secours.

Merci
 
WRInaute impliqué
Si j'ai bien compris, tes pages avec une extensions .html doivent devenir des .php c'est bien ça ?
Anciennes pages = .html
Nouvelles pages = .php
Tu confirmes ?

Ton affaire de refresh = 0 ça ne servira que pour les utilisateurs, les robots étant insensibles à ce type de redirection.
 
WRInaute accro
>> RewriteRule ^article-([0-9]*).php archives-$1.html [R=301]

hein ? tes liens vers tes pages php a l heure actuelle sont par exemple article-25.php ? ce serait pas plutot article.php?id_article=25 tes URL ?
 
Nouveau WRInaute
- THE JEDI merci

Je confirme que j'ai mis certaines pages .HTML en .PHP
mais attention il me reste encore des bonnes pages .HTML non modifiées actuellement.

Ce qu'il faudrait pour instruction c'est:
si tu trouve pas la page .HTML va voire si elle existe d'abord en .PHP avant d'aller en page d'erreur 404 (erreur.php)

pour REFRESH oui ce n'est que pour les visiteurs, mais j'ai peur que cela me desserve pour les référencements.

- E-KIWI merci

heuuuuu, tu m'en demande trop là......!

J'ai cherché dans les moteurs et j'ai eu cela à :
h**p://www.conseil-creation.com/informatique/internet/redirection.php

j'ai trouvé cette ligne et j'ai mis....mais est ce prudent de ma part???
 
WRInaute impliqué
Ok bon donc déjà, la règle dans ton .htaccess est inversée

Code:
RewriteRule ^article-([0-9]+).html archives-$1.php [R=301]

Parce que la structure c'est RewriteRule ancien.fichier nouveau.fichier [options], en gros.

Par contre la règle de réécriture est globale donc tout ce qui finit en .html passera en .php, à toi d'assurer derrière. Si tu t'embarques dans des cas particuliers tu ne vas pas t'en sortir.
 
Nouveau WRInaute
Perso j'y comprends rien...

Question subsidiaire :
Pourquoi transformer des .html en .php via rewriting ?

The Jedi >
je confirme que passer de HTML à PHP c'est bien :
RewriteRule ^article-([0-9]*)\.php$ archives-$1.html
Ca mérite correction de part...

ola
 
Nouveau WRInaute
A la lecture de ton post OLA J'ai un GROS doute sur l'utilisation de RewriteRule.

En effet, je pensais qu'il s'agissait de redirection de pages xxx.html vers XXX.PHP ou inversement selon les besoins...mais...si je comprends cela re-écrit la teminaison .HTML en .PHP et donc si une vraie page existe en toto.html elle va s'afficher toto.php, c'est cela?

Moi je veux donner (alors si ça existe) l'instruction simplement pour les pages n'EXISTANTS plus en .HTML d'aller chercher si elle existe en PHP:

si tu trouve pas la page .HTML (toto.html) va voire si elle existe d'abord en .PHP (toto.php) avant d'aller en page d'erreur 404 (erreur.php)

Pourquoi je mets mes pages en PHP? pages dynamiques et parce je mets des balises php pour les stats les robots, et peut faire des include etc.

Mais le GRAVE probleme, est que je suis référencé et mes pages le sont en .HTML. Les visiteurs clique et.... mince une page d'erreure! Je veux éviter cela et les faire orienter vers la page ayant le même nom mais en terminaison .PHP (sa existe??)

Et j'ai déjà constaté que de nombreuses pages disparaissent de certains moteurs???????

Donc je suis en train de transformer mes pages .HTML en .PHP et j'en ai des centaines, du boulot du boulot! d'où le besoin d'indiquer dans le htaccess des infos et des 'redirections.

Merci pour votre aide.
 
Nouveau WRInaute
OK, je pense que le remède appliqué ne correspond pas à la maladie.

Lorsque tu fais de la réécriture d'url, tu ne changes pas le fichier lui-même, tu changes juste le nom du chemin qui mène à la page. Du coup, pour ta page a.html, tu lui dis d'afficher un nom a.php mais c'est bien le fichier a.html qui apparaît. Tu peux mettre n'importe quoi d'autre : a.tralala, a.tienscestmarrantuneextensionsuperlongue. Bref c'est toujours ta page a.html qui s'affiche en réalité.

Donc, à ma connaissance, une page renommée a.php par rewritting ne disposera pas des attibuts du php car pour le serveur Apache, ce sera bien une page html qu'on appelle autrement...

Ne pas confondre réécriture et redirection.

Ce qui te convient serait plutôt la fonction Redirect :
RedirectMatch (.*)\.html$ http://www.tondomaine.com$1.php

Mais là, du coup, le moteur ne s'arrêtera plus sur aucune page .html. Il viendra visiter toto.html et sera redirigé sur toto.php même si toto.hml existe... et que toto.php n'existe pas encore !

ola
 
Nouveau WRInaute
Wouaaaa, d'accord, bien compris, j'ai immédiatement enlevé de htaccess la ligne 'RewriteRule......' .

J'ai compris à tes bonnes explications que le fait de mettre la fonction Redirect:
RedirectMatch (.*)\.html$ http://www.tondomaine.com$1.php

va pénaliser mes pages actuelles en .HTML et qu'elles ne seront plus indexées par les moteurs, ça c'est embetant car de nombreuses pages sont référencées encore avec le .HTML.

Il faut donc que je temine toutes mes modif de HTML en PHP avant de modifier mon htaccess avec la balise de REDIRECT. Que me conseillerais-tu?
 
Nouveau WRInaute
Oui en gros, c'est très difficile de donner des règles générales de redirection pour un site qui comme le tien à des pages HTML encore OK, d'autres non, des pages PHP maj et d'autres pas encore créées sans logique apparente.

Donc 2 solutions :
tu fais vite tes maj pour passer rapidement tout ton site en php puis tu installes la redirection (html => php) pour les BL et les pages encore indexées dans les moteurs.

tu te prévois un très long fichier htaccess ou tu listes chaque page :
RedirectMatch mapage1.html$ http://www.tondomaine.com/mapage1.php
RedirectMatch mapage2.html$ http://www.tondomaine.com/mapage2.php
etc.

Mais si tu as des centaines de page c'est infaisable...
 
WRInaute discret
Je pense que la meilleure solution c’est de rewriter les pages .php en .html
De cette façon pour les visiteurs (et GG) les pages .html existent encore et toujours et le serveur interprète le code php
 
Nouveau WRInaute
donc hedonism toi tu me conseillerais de mettre simplement ceci dans mon htaccess pour faire interpréter les pages PHP en HTML:

RewriteRule ^article-([0-9]*)\.php$ archives-$1.html

si c'est faut montre moi la balise s'il te plait.

1- Ainsi les visiteurs continnueraient à voire les pages en PHP et serraient normalement interprétés par le serveur
2- LES MOTEURS (GG surtout, et les autres aussi?) eux diront....tient la page n'a pas changée puisque je la lit comme avant avec l'extension HTML.

c'est ça!

MERCI
 

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