URL finissant en .html pour site dynamique PHP/MySQL

Lio70

Membre expert
Club iGen
16 Janvier 2004
2 396
1 282
Bonjour,

Je developpe des sites PHP/MySQL depuis quelques annees mais me pose la question suivante:
Comment faire un site dont les elements dynamiquement affiches comportent un URL en *.html comme s'il s'agissait d'une page web normale ?

Exemple: un site de vente dont les produits sont des peintures. Supposons qu'il y ait un tableau "Berger surveillant ses moutons" constituant l'enregistrement 17 dans la table de donnees.

Son affichage sur un site classique generera un URL du style "http://site.com/produit.php?id=17"

Mais sur certains sites, l'URL serait "http://site.com/berger-surveillant-ses-moutons.html"
or il ne s'agit pas de pages ecrites manuellement, elle sont dynamiques, et dans l'interface de gestion des donnees, je devine qu'on peut continuer a modifier les donnees du produit.

Quelle technologie de scripting emploie-t-on pour ce faire?

Deuxieme question en corollaire : cette methode permet-elle une meilleure indexation des produits par les moteurs de recherche?

Merci de votre aide.
 
Ou comme sur ce forum par exemple, si tu regardes l'url de ce topic :)

tout simplement des règles de réécriture d'url à la volée par htaccess par exemple

un fichier .htaccess à la racine qui permet la réécriture d'url

attention cependant au référencement, il vaut mieux mettre ça en place avant le référencement du site, sinon, il faut en plus indiquer aux moteurs que l'url a changé d'adresse (redirection 301 permanente) afin d'éviter le duplicate content et pour pas perdre tout son référencement suite à la modification du noms des url
 
Je connaissais htaccess pour filtrer l'acces a un repertoire mais je n'avais pas prete attention a ce RewriteRule. Merci a vous deux de m'avoir oriente.
:zen:
 
C'est très simple à réalisé, un exemple :

Bloc de code:
Options +FollowSymlinks 
RewriteEngine on
RewriteRule ^contact$  /contact.php [L]
RewriteRule ^accueil$  /index.html [L]
RewriteRule ^profil$  /a_propos.html [L]
RewriteRule ^mentions_légales$  /mentions.html [L]
RewriteRule ^services$  /services.html [L]

Ici contact.php va être contact sans extension, index.html / accueil toujours sans extension.
 
J'avais vite compris comment cela fonctionne. Mais il y a encore un truc qui me chiffonne.

Dans le cadre d'un site qui publie un tas de pages nouvelles chaque jour, je suppose que le webmaster n'entre pas manuellement une nouvelle ligne dans son fichier htaccess pour chaque article, de maniere a ce que la nouvelle URL se compose par exemple des mots du titre de l'article. Alors, quelle methode pour automatiser le process?

Merci :zen: