Conversion d'un site d'html à php

Bonjour,

Je m’occupe d’un petit site (une boutique en ligne) qui est actuellement en html et je souhaiterais le convertir en php (pour ajouter une admin et utiliser une base de données, etc.).

Le problème est que maintenant toutes mes pages sont en .html et que si je le converti, mes pages deviendront des .php, donc les favoris de mes quelques visiteurs seront des liens mort.

Il y a une technique qu’on voit souvent c’est de faire une page: “La page que vous demandez a été déplacée, vous serez redirigé dans 10 secondes vers la bonne page”.

Si je fais comme ça, n’ai-je pas des risques d’être blacklisté par Google?
Le mieux est-il de faire chaque ancienne page qui redirige vers la nouvelle ou juste récupérer l’erreur 404 et renvoyer vers la page d’accueil?
Comment fait-on ça techniquement (javascript ou autre)?
Sinon quelle autre méthode proposez-vous pour faire la transition de .html à .php en douceur?

Merci de votre aide!

Pour ce genre de choses, tu dois pouvoir modifier le fichier “.htaccess” de ton site pour que :

  • soit tes erreurs 404, soit automatiquement redirigées vers la page d’accueil.
  • soit faire de l’url rewriting : tes pages .php “se transforment” en .htm pour tes visiteurs (assez intéressant pour le ranking chez l’ami de l’internaute)
  • soit les deux en même temps.

J’avoue que je ne m’y connais pas spécialement (pour n’avoir jamais mis le truc en pratique), mais une recherche avec Google sur “url rewriting” ou “htaccess” répondra surement au “Comment fait-on ?”

C’est assez chiant d’ecrire ce genre de regles, donc un exemple de base:

regarde bien la doc pour voir ce que signifie les flags.

LoneWolf
Et hop, un exemple!

Donc si j’ai bien compris, si j’utilise les url-rewrite et que je tape dans mon navigateur www.monsite.com/reservez-votre-avion-en-ligne.html, le serveur va renvoyer la page www.monsite.com/article.php3?id_article=1502 mais va laisser affichée dans la barre d’adresse www.monsite.com/reservez-votre-avion-en-ligne.html?

Et si j’accède à www.monsite.com/article.php3?id_article=1502 il va afficher cette page mais mettre dans la barre d’adresse www.monsite.com/reservez-votre-avion-en-ligne.html?

Merci pour vos précisions.

[quote]Donc si j’ai bien compris, si j’utilise les url-rewrite et que je tape dans mon navigateur www.monsite.com/reservez-votre-avion-en-ligne.html, le serveur va renvoyer la page www.monsite.com/article.php3?id_article=1502 mais va laisser affichée dans la barre d’adresse www.monsite.com/reservez-votre-avion-en-ligne.html?

Et si j’accède à www.monsite.com/article.php3?id_article=1502 il va afficher cette page mais mettre dans la barre d’adresse www.monsite.com/reservez-votre-avion-en-ligne.html?

Merci pour vos précisions.[/quote]

C’est exactement ça.
Ils le font sur clubic, par exemple, où le nom de la page c’est le-titre-de-la-news.html

Le principal intérêt étant au niveau du référencement : une page html se fait référencée bien plus rapidement qu’une page php. Le bot, lui, avec l’url rewriting, il voit que tu as pleins de pages html et non pas une page php avec des paramètres.
Au niveau du référencement, abondance.com possède plusieurs infos pratiques. Pour une boutique le ranking, c’est quand même plutôt sympa quand il est haut.

je le fais sur mon site. par exemple, si tu cliques sur le nom d’une série jap, tu verras une url en html avec le nom retouché. mon apache en fait ignore tout ca ! d’après ses règles il charge un fichier modèle php et un enregistrement en base sql. c génial l’url rewriting, pas de 404 si tu renommes tout, suffit de penser à modifier ses règles en conséquences et un super classement sur google.

quelques exemples :

indispensable à mettre :
RewriteEngine on

première règle :
RewriteRule ^([A-Za-z]+)([0-9]+)([_a-zA-Z0-9]+).html$ /gen/$1.php?id=$2 [QSA,L]

cette règle fait tout ! pour tout document truc_XX_blabla.html elle appelle /gen/truc.php?id=XX
d’autres règles :

RewriteRule ^breve([0-9_]+).html$ /gen/archives.php?id=$1 [QSA,L]

tout document breveXX.html appelle en fait /gen/archives.php?id=XX

le flag QSA,L sert à dire de ne plus interpréter les règles suivantes. tu trouveras plus de doc sur les flags sur google.

voilà :stuck_out_tongue:

non. apache ré écrit dans sa mémoire, côté serveur. pas chez le client. si l’url chez le client change, c que tu fais une redirection client en javascript par exemple (ce qui est à mon avis est caca).

tu étais avant en html, tu continues à mettre des liens en .html dans tes pages, tu ajoutes les règles de ré écriture, personne saura que la vraie adresse est truc.php, et combien même ca ne changerait rien qu’un péquin sur 10 000 passe par le lien en php parcqu’il aime bidouiller les réponses d’un serveur apache (comme moi).