rediriger pages html vers même adresse en php [RESOLU]

Discussion dans 'URL Rewriting et .htaccess' créé par sam soul, 19 Mars 2008.

  1. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    Bonjour,
    pour pouvoir bénéficier de la fonction include, j' ai renommé toutes mes pages html en php et inséré le code pour l' include, tout marche.
    Mais je n' ai pas encore uploadé ces pages pour la raison suivante:
    Les visiteurs qui voudront accéder directement à mon site à l' aide de favoris ou par liens externes ( liens en html donc ) se retrouveront face à une erreur 404 ou multi choices.
    Je cherche donc à savoir si il existe un moyen de rediriger automatiquement une adresse html vers la même mais en php ?
    exemple:
    ma-page.html
    vers
    ma-page.php
    on peut le faire pour chaque page avec ceci:
    Redirect permanent /ma-page.html http://www.mon-site.com/ma-page.php
    seulement c' est plutôt laborieux on doit le faire pour chaque page, mission impossible.
    D' autre part, est-ce que ce changement d' extension aura une influence sur le référencement ?
    merci.
     
  2. Vap
    Vap WRInaute impliqué
    Inscrit:
    17 Juin 2007
    Messages:
    983
    J'aime reçus:
    0
    Teste d'abord si la réécriture d'URL fonctionne. Test aussi si PHP fonctionne, en uploadant tes pages php. Tant que tu n'a pas de lien vers elles, tu ne risque rien à les uploader.

    Ensuite, tu met la règle suivante :

    Code:
    RewriteRule (.*)\.html $1.php [L,QSA]
    
    Et tu laisse tes liens pointer vers les adresses .html

    Si tu ne fais jamais de lien vers une adresse .php, tu n'as rien besoin de faire d'autre. Google ne verra jamais les adresses .php, donc pas de soucis de contenu dupliqué.
     
  3. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    il faudra que je supprime les pages en html non ?
    et concrètement les pages s' afficheront html ou php dans la barre d' adresse ?
     
  4. Vap
    Vap WRInaute impliqué
    Inscrit:
    17 Juin 2007
    Messages:
    983
    J'aime reçus:
    0
    Même pas! Mais c'est plus clair si tu le fais.

    Le contenu affiché sera celui des pages php, mais l'adresse dans le navigateur sera la page .html

    Franchement, c'est le mieux. Ca te permettra de changer comme tu veux la façon dont le contenu de tes pages est produit, par exemple en faisant des pages php avec des paramatres, sans jamais changer l'adresse visible par tes visiteurs.

    C'est ce que je fais sur mes sites, on ne voit pas php.
     
  5. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 601
    J'aime reçus:
    4
    La solution donnée par Vap est la meilleure. Elle permet de ne pas avoir à modifier ses liens internes notamment, ce qui peut être suuuper long. Bien sur, aucun lien ne doit pointer vers les pages .php.
     
  6. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    et au niveau référencement, vu que je vais supprimer les pages html pour y voir plus clair est-ce que ça aura une incidence.
    sur webmasterhub, on me propse ceci:
    Code:
    RewriteEngine on
    RewriteRule /?(.+)\.html  http://www.ledomaine.tld/$1.php [R=301,L]
    quelles sont les différences ?
     
  7. Vap
    Vap WRInaute impliqué
    Inscrit:
    17 Juin 2007
    Messages:
    983
    J'aime reçus:
    0
    La plus grosse différence c'est le [R=301]. Avec ça, l'adresse affichée sera la php, eu lieu de la html. En faisant ça tu expose comment ton site est fait, ce dont tes visiteurs n'ont rien a cirer. En plus ça t'oblige a changer tous tes liens pour bien faire.

    Deuxième différence, il n'y a pas QSA. Cette option te sera utile plus tard si tu veux ajouter des parametres, par exemple si tu fais des formulaires en méthode GET.

    Sinon, le reste de la règle est juste plus compliqué sans rien apporter.
     
  8. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    pour être clair, la méthode que tu me proposes est-elle mieux ?
     
  9. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 601
    J'aime reçus:
    4
    Oui la méthode de VAP est la méthode idéale
     
  10. Vap
    Vap WRInaute impliqué
    Inscrit:
    17 Juin 2007
    Messages:
    983
    J'aime reçus:
    0
    Ah, ça fait du bien! :D

    Bon, je vais chercher des bandes pour mes chevilles :wink:
     
  11. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    bon ok, je vais faire ça.
    Juste une ou deux précisions avant de me lancer.
    niveau référencement, est-ce qu' il y a une incidence ?
    Tu me dis de tester si le réécriture d'URL fonctionne, concrêtement, on fait comment ?
    Et pour lever toute ambiguité, la règle que tu me donnes est à mettre dans le fichier htaccess c' est ça ?
     
  12. Vap
    Vap WRInaute impliqué
    Inscrit:
    17 Juin 2007
    Messages:
    983
    J'aime reçus:
    0
    Lit ca : https://www.webrankinfo.com/dossiers/techniques/tutoriel-url-rewriting et ce tutoriel :https://www.webrankinfo.com/dossiers/techniques/tutoriel-url-rewriting

    En particulier, fais le test donné dans une des pages du tutoriel.

    ENsuite, si tu as fais le test et que la réécriture marche, tu met la règle que j'ai donnée dans un fichier appelé .htaccess à la racine de ton site. Si ti n'arrives pas à sauvegarder dans un fichier de ce n om, appelles le htaccess, charge le sur ton site, et renommes le en .htaccess dans ton site.

    En général, pour que la réécriture marche, il suffit de mettre les choses suivantes dans le .htaccess:

    Code:
    Options +FollowSymLinks
    RewriteEngine On
    
    Du coup, ton .htaccess devrait ressembler a ce qui suit:

    Code:
    Options +FollowSymLinks
    RewriteEngine On
    
    RewriteRule (.*)\.html $1.php [L,QSA]
    
     
  13. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    Ok merci, tout ça est très clair :wink:
    La réecriture est bien prise en charge, je viens de tester.
    par contre, niveau référencement est ce que ça craint ou il n' y a pas de risque et Google n' y verra que du feu ?
     
  14. Vap
    Vap WRInaute impliqué
    Inscrit:
    17 Juin 2007
    Messages:
    983
    J'aime reçus:
    0
    Google n'y verra que du feu si tu ne met pas R=301. Tous tes visiteurs n'y verrons que du feu d'ailleurs.
     
  15. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    bonjour,
    autre question sur ce thème.
    J' ai actuellement des redirect permanent sur mon fichier htaccess et mes pages sont toujours en html.
    par exemple pour le cas suivant:
    Code:
    Redirect permanent /adresse-A.html http://www.domaine.com/adresse-B.html
    
    comment devrai-je faire mes nouvelles redirection étant donné que les pages html n' existeront plus.
    est-ce qu' il suffi juste de remplacer la nouvelle adresse avec l' extension php dans le fichier htaccess ? n' y a t' il pas de risque de duplicate content ?
    merci :wink:
     
  16. Vap
    Vap WRInaute impliqué
    Inscrit:
    17 Juin 2007
    Messages:
    983
    J'aime reçus:
    0
    Oui à la première question, non à la seconde.
     
  17. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    Bonjour à tous,
    je vais remonter ce sujet,.
    Je récapitule:
    - j' ai renommé toutes mes pages en php (anciennement html).
    - j' ai crée un dossier test sur mon serveur et y ai uploader mes fichiers php.
    - J' y ai également ajouté mon fichier htaccess avec la ligne de code que m' a conseillé Vap:
    Code:
    Options +FollowSymLinks 
    RewriteEngine On 
    
    RewriteRule (.*)\.html $1.php [L,QSA] 
    maleureusement, ça ne marche pas, le serveur me renvoie vers ma page 404.
    Qu' est ce que j' ai loupé ?
     
  18. YoyoS
    YoyoS WRInaute accro
    Inscrit:
    14 Septembre 2006
    Messages:
    3 226
    J'aime reçus:
    0
    A tester:

    Code:
    RewriteRule ^(.*)\.html$ /$1.php [QSA,L] 
    ou

    Code:
    RewriteRule (.*)\.html$ /$1.php [QSA,L] 
     
  19. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    Bonjour et merci de ton aide malheureusement dans les deux cas ça me renvoie cette fois vers un multi choice. :cry:
     
  20. YoyoS
    YoyoS WRInaute accro
    Inscrit:
    14 Septembre 2006
    Messages:
    3 226
    J'aime reçus:
    0
    C'est qu'il y a conflit entre tes règles.
     
  21. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    entre quelles règles ? j' ai tout supprimé ce qu' il y avait dans le htaccess et mis tour à tour ce que tu m' as proposé.
    Je ne vois pas quel est ce conflit. :cry:
    EDIT:
    j' ai essayé également ça:
    Code:
    Options +FollowSymlinks 
    RewriteEngine on 
    
    RewriteRule ^(.*)\.html$ /$1.php [QSA,L,R=301] 
    mais ça me donne une erreur 404.
     
  22. Vap
    Vap WRInaute impliqué
    Inscrit:
    17 Juin 2007
    Messages:
    983
    J'aime reçus:
    0
    Les règles de Yoyos S me paraissent correctes.

    Normalement, si ta règle est bien appliquée par le serveur, l'adresse aue tu tapes dans ton navigateur (par exemple -htttp://www.ndd.com/page.html) est modifiée, et tu vois la nouvelle adresse à la place dans ton navigateur (par exemple -htttp://www.ndd.com/page.php)

    Donc, est-ce que tu vois l'adresse changer?

    Si tu la vois changer et que tu as une erreur 404, c'est que la nouvelle adresse ne correspond pas a une page qui existe.
     
  23. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    j' ai essayé avec ça:
    Code:
    Options +FollowSymlinks 
    RewriteEngine on 
    
    RewriteRule ^(.*)\.html$ /$1.php [QSA,L,R=301] 
    il n' y a que ça dans mon htaccess.
    quand je clique sur un lien, l' adresse ciblée s' affiche bien dans la barre d' adresse (en html, normal les liens sont en html) mais ça me mets ceci:
    Code:
    Multiple Choices
    The document name you requested (//test/test-php/traitement-video.html) could not be found on this server. However, we found documents with names similar to the one you requested.
    Available documents:
        * //test/test-php/traitement-video.php (common basename) 
    Please consider informing the owner of the referring page about the broken link. 
    ce que je remarque, c' est que quand je tape l' adresse vers le dossier test-php, c' est la page index.php qui s' affiche, elle n' est pas réecrite en html. Ce qui n' est pas normal je pense, elle devrait apparaître en html normalement.
     
  24. YoyoS
    YoyoS WRInaute accro
    Inscrit:
    14 Septembre 2006
    Messages:
    3 226
    J'aime reçus:
    0
    Pourquoi mettre ,R=301 ? t'as essayé sans ? Voir si les pages .html fonctionnaient en affichant en fait les pages en php ?
     
  25. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    j' ai donc essayé:
    Options +FollowSymLinks
    RewriteEngine On

    RewriteRule (.*)\.html $1.php [L,QSA]

    ça me donne cette fois ma page 404.
    est-ce qu' il n' y aurait pas un conflit avec le htaccess ou les pages originales de mon site placées à la racine de mon site ? Car là je fais des tests dans un autre dossier de mon site.
     
  26. Vap
    Vap WRInaute impliqué
    Inscrit:
    17 Juin 2007
    Messages:
    983
    J'aime reçus:
    0
    les règles qui ont été données marchent pour des pages dans le même répertoire que celui ou est placé le fichier .htaccess .

    Si tu fais tes tests dans un sous répertoire, met le .htaccess dans le meme sous répertoire.

    Non, la réécriture que les règles font vont de html vers php, pas l'inverse.

    L'idée est que les liens qui pointent vers des pages de ton site pointent vers des pages html, et qu'en interne, ces pages html sont redirigées vers les pages php.
     
  27. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    oui ça je sais bien, je test tout dans un même répertoire nommé test-php.
    je ne comprends plus là. je ne veux pas réecrire mes page html en php. Mes pages ont été renommées en php pour bénéficier de la fonction include entre autres. Les pages originales en html ont été supprimées dans ce répertoire test-php.
    Je voudrais (c' est ce qui m' a été conseillé ici même) que mes pages php soient réecrite en html pour ne pas perdre niveau référencement, duplicate content etc, etc...
    tout à fait, mais réecrite en html.
    Tout ce qu' il faudrait c' est lorsqu' un visiteur tape http://mon-domaine/ma-page.html, il soit redirigé vers http://mon-domaine/ma-page.php et que cette adresse s' affiche en http://mon-domaine/ma-page.html
     
  28. Vap
    Vap WRInaute impliqué
    Inscrit:
    17 Juin 2007
    Messages:
    983
    J'aime reçus:
    0
    Exactement, et c'est ce que font les règles données par yoyos.


    Maintenant qu'on sait que c'est dans le répertoire test-php, il faut, dans le .htaccess situé dans ce répertoire, entrer ce qui suit:

    Code:
    Options +FollowSymlinks
    RewriteEngine on
    
    RewriteRule ^(.*)\.html$ /test-php/$1.php [QSA,L]
    
    Ou alors, (pas testé) utiliser RewriteBase :


    Code:
    Options +FollowSymlinks
    RewriteEngine on
    
    RewriteBase /
    
    RewriteRule ^(.*)\.html$ /$1.php [QSA,L]
    
     
  29. sam soul
    sam soul WRInaute discret
    Inscrit:
    19 Mars 2008
    Messages:
    124
    J'aime reçus:
    0
    hourra !!!!
    la première solution me donne une erreur 404.
    la deuxième......fonctionne, j' ai juste adapté en ajoutant test/test-php qui est le répertoire dans lequel je travail.
    ça y est mes liens pointent vers mes pages php qui sont réecrites en html.
    Merci infiniment !!! :lol:
    Petite question annexe mais quand même avec ma préoccupation d' origine:
    est-ce que Google va y perdre son latin et sanctionner mes pages au niveau référencement ?
     
  30. Vap
    Vap WRInaute impliqué
    Inscrit:
    17 Juin 2007
    Messages:
    983
    J'aime reçus:
    0
    IL n'y aura aucune pénalité s'il ny a pas de contenu duppliqué. Pour cela il faut que tes liens pointent toujours vers les pages html, et jamais vers les pages php directement. Comme ça, google (et les autres visiteurs) ne sauroont jamais qu'il y a des pages php.
     
  31. Chamalau
    Chamalau Nouveau WRInaute
    Inscrit:
    24 Avril 2012
    Messages:
    7
    J'aime reçus:
    0
    Bonjour,
    J'aimerais savoir comment faire si on a le problème du contenu dupliqué?

    J'ai fait l'erreur de faire pointer mes liens internes vers les pages php mais en lisant ce post j'ai tout de suite changé. Malheureusement, trop tard. Aujourd'hui j'ai mes pages php qui sont indexées et mes pages html le sont toujours.

    Des solutions?

    Merci à vous.
     
  32. Michel Saumade
    Michel Saumade Nouveau WRInaute
    Inscrit:
    23 Janvier 2010
    Messages:
    16
    J'aime reçus:
    0
    Bonjour,
    Pour les mêmes raisons que sam soul, (utilisation de la fn include) j'ai modifié mon site avec des pages en .php.
    Ce site à 12 ans, il est bien référencé, et j'ai voulu faire des redirections 301 dans les fichiers htaccess de chaque repertoire.
    Suite à un cours chez Ranking Metrics en 2009, j'avais déjà fait cette manip, lors de la précédente mise a jour de ce site, et ceci sans aucun problème. J'ajoute que l'hébergement est le même.
    Mais cette fois, des choses bizarres se passent: (j'utilise la même syntaxe, qu'auparavant):
    - htaccess sous la racine:
    Code:
    SetEnv PHP_VER 5
    RewriteEngine on
    RewriteRule ^cyclo\.htm$ /location-gites/cevennes-cyclotourisme.php [R=301]
    : Ca marche.
    Si je rajoute une ligne: Erreur Serveur 500. Exemple:
    La ligne:
    Code:
    RewriteRule ^index\.html$ /location-gites/villagedegites.php [R=301]
    Dans le repertoire /location-gites , quelquesoit la RewriteRule: Erreur 500
    Alors que dans un autre repertoire: frankrijk, le htaccess suivant fonctionne sans problème:
    Code:
    SetEnv PHP_VER 5
    RewriteEngine on
    RewriteRule ^vakantiepark-cevennen-tennis-baan\.htm$ /frankrijk/vakantiepark-cevennen-tennis-baan.php [R=301]
    RewriteRule ^vakantiepark-cevennen-zwembad\.htm$ /frankrijk/vakantiepark-cevennen-zwembad.php [R=301]
    J'ai essayé des tas de variantes sans succès. Cela me parait illogique et pourtant...
    Quelqu'un peut il m'aider ??
    Merci d'avance.
     
Chargement...
Similar Threads - rediriger même adresse Forum Date
Rediriger page d'accueil sur la même en changeant l'adresse Netlinking, backlinks, liens et redirections 20 Août 2007
rediriger sur un domaine qui redirigeait lui meme vers ce domaine Débuter en référencement 9 Février 2017
rediriger les pages d'un répertoire vers les même pages d'un autre répertoire ? URL Rewriting et .htaccess 28 Novembre 2016
Acheter plusieurs noms de domaines et rediriger vers un même NDD est il préjudiciable ? Noms de domaine et référencement 17 Février 2014
Comment rediriger une page en .htaccess vers une autre page du même site ? Débuter en référencement 15 Juin 2013
domaines pointent vers le même contenu : comment rediriger URL Rewriting et .htaccess 13 Juin 2012
rediriger un dossier entier vers une seule page d'un meme site Netlinking, backlinks, liens et redirections 16 Mars 2011
rediriger deux domaines vers meme site URL Rewriting et .htaccess 15 Avril 2009
Rediriger TOUTES les pages d'un site vers une même URL URL Rewriting et .htaccess 27 Novembre 2008
2 sites même thème : Rediriger l'un vers l'autre ? Référencement Google 5 Mai 2008
WordPress Rediriger le visiteur en fonction de la langue du navigateur Référencement international (langues, pays) 12 Août 2022
Supprimer landing page homepage, rediriger vers page réelle Problèmes de référencement spécifiques à vos sites 28 Novembre 2021
Rediriger seo d'un site vers un autre Débuter en référencement 4 Novembre 2021
Rediriger de non-www à www pour utiliser Cloudflare Référencement Google 1 Novembre 2021
Rediriger tout un site vers un répertoire à la racine URL Rewriting et .htaccess 23 Juin 2021
Rediriger des domaines au nom explicite vers un domaine établi mais moins spécifique Netlinking, backlinks, liens et redirections 1 Février 2021
page 404 lien indexer comment le rediriger? Débuter en référencement 12 Janvier 2021
rediriger les sous domaines vers la page d'accueil URL Rewriting et .htaccess 11 Janvier 2021
Domaines Expirés : rediriger ou faire des sites ? Netlinking, backlinks, liens et redirections 3 Décembre 2020
Comment rediriger en 301 toutes les 404 vers une page précise ? Débuter en référencement 9 Septembre 2020