Page 1 sur 1

htaccess

Posté : 07 mai 2009, 17:32
par faid
htaccess
Salut tous le monde je cherche un moyen d’afficher .html au lieu de .php j’ai réussi a savoir que se la est possible a l’aide d’un fichier .htaccess mais pas moyen de le fair aider moi svp :oops:

Posté : 07 mai 2009, 19:20
par albat
Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "PHP débutant".

Merci de prendre le temps de lire les règlements
ainsi que l'intitulé de chaque forum avant de poster un nouveau sujet.

Posté : 07 mai 2009, 19:21
par albat
Ça s'appelle de l'URL rewriting.

Il existe une multitude de tutos sur ce sujet.

Posté : 08 mai 2009, 00:18
par Elie

Code : Tout sélectionner

Options +FollowSymlinks RewriteEngine on RewriteRule ^([A-Za-z0-9_-]+).html$ $1.php

Posté : 08 mai 2009, 11:02
par geoffroy
Je me pose une question à ce sujet, peut-être que quelqu'un sait.

Ca ne pose pas de problème de 'duplicate content' cette méthode ?
Car la page .php reste accessible, il y a donc deux adresses php et html. :roll:

Posté : 08 mai 2009, 12:51
par thehawk
Ben je ne pense pas , je me trompe peut etre

Vue que la page que tu appel .html est fictive, c'est une adresse virtuelle qui renvoi automatique sur la page .php

mais possible que je me trompe :roll:

Posté : 08 mai 2009, 13:26
par geoffroy
Vue que la page que tu appel .html est fictive, c'est une adresse virtuelle qui renvoi automatique sur la page .php
Oui mais Google ne sait pas qu'elle est fictive et fait surement une différence entre les deux pages (extension html et php) il me semble.

J'ai tenté de rajouter une redirection des *.php vers *.html mais comme apache tourne en boucle,
tu dois avoir raison. J'ai pas encore insisté, je m'y suis peut-être mal pris.

Posté : 08 mai 2009, 13:48
par geoffroy
En fait c'est logique.
Apparemment pour y remédier il faut utiliser des redirections de ce type

Code : Tout sélectionner

<?php if ( substr($_SERVER['REQUEST_URI'], -4, 4) === '.php' ) { // Si la page actuelle a une extension ".php" header('Status: 301 Moved Permanently', false, 301); // Redirection permanente header('Location: ' . substr_replace($_SERVER['REQUEST_URI'], '.html', -4, 4)); // Rediriger vers la page en '.html' } ?>

Posté : 18 mai 2009, 17:23
par mbernard
Hello,

Google n'indexera que les pages qui ont des liens pointant vers elles.
Si tu construis ton site en utilisant .html dans tes liens relatifs au lieu de .php, Google n'indexera aucune page en .php !

Ensuite, il me semble que même si tes URL en .php sont indexées, Google fera le tri automatiquement et ne le considèrera pas comme du contenu dupliqué.

Voir un article à ce sujet :
http://www.goopilation.com/2008/09/webm ... icate.html

Posté : 18 mai 2009, 22:10
par geoffroy
Merci de la réponse.
Cet article est assez intéressant, et j'avais déjà remarqué sur certains sites que ça n'avaient pas l'air de poser problème.
J'ai aussi lu que l'attribut "canonical" sur une balise link va permettre de préciser à plusieurs moteurs de recherche la présence de duplicate content.

Code : Tout sélectionner

<link rel=”canonical” href=”http://www.site_source.com/pagedorigine.html” />

Posté : 20 mai 2009, 09:34
par mbernard
Un avantage de cette méthode pourrait être de transcrire toutes les URI dynamiques en URI statiques afin qu'elles soient mieux référencées.

Si l'internaute arrive par ex. sur une page de ce genre :
http://monsite.com/news/show.php?id=1

On peut spécifier l'URL canonique de la page de cette facon via une moulinette PHP:
http://monsite.com/news/show/id/1/

Avec la règle d'URL rewriting qui existe bien sûr...