De .html en .php, comment éviter le 404?

Nouveau WRInaute
Bonsoir tout le monde. :)

En phase finale sur le travail de référencement d'un ancien site en .html http://www.masdupastre.com (Google commençant petit à petit :cry: :cry: à ré-indexer les pages, me v'là obligé de changer d'hébergeur. :evil:

Celui-ci permettant le php, j'ai renonmées toutes mes pages en .php (ne serait ce que pour installer robotstats), et j'en ai profité pour changer de registrar en redirigeant mes dns correctement. :D :D

3/4 jours après, pas de problème, il me semble avoir bien travaillé (la.. j'suis content de moi lool)

Mais mais.... 8O 8O quand je liste sous google mes pages, celle-ci son en .html, et quand je clique sur le lien proposé par google, patatra, 404.... .
:( :(

Je sais, j'aurais du m'y attendre, mais j'avoue n'y pas avoir pensé... :oops:

Donc je suis un peu perdu là, et j'aurais bien besoin de conseils. :?:

J'ai bien imaginé quelque solution, mais ??... j'suis pas sûr de moi là.. :oops:

1) attendre tout simplement que google repasse sur ma page index (et il fera le reste tout seul?)
2) faire une redirection dans le htaccess style "tout ce qui passe en 404 revient sur la page d'accueil"?
3) créer une page 404 personnalisée avec la barre de navigation? ou avec un script redirigeant sur la page sollicité mais en php ( sais pas si c'est possible ca?)
4) une autre soluce ?

Merci d'avance de vos réponses

Meilleures salutations

JPO
 
WRInaute occasionnel
La 404 en htaccess permettra au visiteur d'arriver sur l'index du site.
Sinon 301 page par page dans le htaccess.
La soluce 1 "attendre tout simplement...." risque de prendre du temps

@+ Mojy
 
Nouveau WRInaute
Bonsoir Mojy, et merci pour ta réponse.

Sinon 301 page par page dans le htaccess.

j'suis débutant :oops:

Cela voudrait- il dire que je crée un htaccess, et que dans celui-ci je signale qu'a chaque page demandé genre ici.htm on redirige en "permanent" sur la page sollicitée, mais en .php ? ( soit ici.php) :?:

Car si cela est possible, cela me plait bien pour deux raisons :

1) ceux qui viennent par lien google tomberont sur la bonne page
2) les robots seront redirigés sur la même page mais en php en evitant un 404

Dans l'attente

@+

jp
 
WRInaute occasionnel
Dans ton htaccess une ligne pour chaque page
Code:
RedirectMatch 301 /page.html page.php
ce qui te donnerait un htaccess comme ça en gros
Code:
ErrorDocument 404 http://www.ton-site.com/index.php
RedirectMatch 301 /index.html index.php
RedirectMatch 301 /ta_page2.html ta_page2.php
RedirectMatch 301 /ta_page3.html ta_page3.php
.......
Avec la 404 au cas où une page est oubliée. :wink:
Tu devrais en attendant de faire le htaccess complet l'envoyer déjà avec la 404.
@+ Mojy
 
WRInaute impliqué
Mojy a dit:
Dans ton htaccess une ligne pour chaque page
Code:
RedirectMatch 301 /page.html page.php
ce qui te donnerait un htaccess comme ça en gros
Code:
ErrorDocument 404 http://www.ton-site.com/index.php
RedirectMatch 301 /index.html index.php
RedirectMatch 301 /ta_page2.html ta_page2.php
RedirectMatch 301 /ta_page3.html ta_page3.php
.......
Avec la 404 au cas où une page est oubliée. :wink:
Tu devrais en attendant de faire le htaccess complet l'envoyer déjà avec la 404.
@+ Mojy

Avec ça, quand il doit vraiment y avoir une erreur 404, on se retrouve sur la page index, c'est pas top.

Pour éviter tous les RedirectMatch, pourquoi ne pas simplement faire:
Code:
RewriteRule ^(.*)\.html $1.php [R=301]
 
Nouveau WRInaute
Re-bonjour.

Merci à vous deux :D , car grace à vos conseils, mon but est atteint, à savoir que les visiteurs par liens google arrive sur la bonne page, et que les robots suivent correctement tout en étant informé du changement, et de plus je ne perds pas le bénéfice de mon travail de référencement.

Moly:
Dans mon cas, j'ai appliqué ceci :
ErrorDocument 404 /plan-site.php
RedirectMatch 301 /us/ici.htm /us/ici.php
RedirectMatch 301 /ici.htm /ici.php

J'avais fait une page plan site avec des liens en "durs" alors que ma page index est faite avec des liens images, donc il m'a parut plus judiicieux et indiqué de diriger les 404 dessus.
ensuite j'ai découvert... que les pages sur la partie anglaise portaient le même nom que les pages françaises... d'ou l'ordre des redirections d'abord de l'us puis du fr car sinon, tout passe sur les Fr.. :D :D

shrom :
Pour ta soluce, telle qu'elle, cela ne fonctionne pas chez moi.
Vu l'urgence et le peu de page de ce site, j'ai d'abord appliqué la solution de moly, mais ensuite j'aimerais comprendre pourquoi cela ne marche pas ? car cette ré-écriture évite pas mal de ligne de code et est de plus... comment dire? stylée? :wink:

donc j'ai bien rajouté en début de mon .htaccess
RewriteEngine on
puis ton code :
RewriteRule ^(.*)\.html $1.php [R=301]

resultat : tout page sur le 404.... :?

Donc j'ai modifié en
RewriteRule ^(.*)\.htm $\.php [R=301]
soit htm au lieu de html puis \ au lieu de 1
Résultat : tout passe en 404 ....


N'est pas une histoire de chemin?

Encore merci

JPO
 
WRInaute occasionnel
Le mod rewrite n'est pas activé chez tous les hébergeurs.
Mais c'est vrai que c'est plus stylé. ;)

L'essentiel étant que ça fonctionne d'une manière ou d'une autre.
@+ Mojy
 
Nouveau WRInaute
Tout à fait d'accord avec toi Mojy, et ça fonctionne trés bien. :D

Mais comme je suis quelqu'un de curieux, j'aimerais comprendre pourquoi la solution en style.. :wink: ne marche pas chez moi.

La réécriture d'url était un de mes critères pour sélectionner mon nouveau hébergeur, et j'ai pris celeonet pour cela.

Donc ça vient pas de là. j'ai vu leur faq sur la réécriture, on doit en plus du .. "on" rajouter un aute parametre, mais... :? pas ça non plus.

De toute façon, comme j'ai pas de internal serveur error (500) en testant cette réécriture, et que je suis redirigé sur la 404, c'est que la syntaxe est bonne, mais la règle doit être fausse quelque part. 8O

Si quelqu'un peu satisfaire ma curiositée ? :?:

JPO
 
WRInaute occasionnel
Suis pas assez costaud en rewriting pour te répondre efficacement, j'ai beaucoup de mal à y arriver à chaque fois, mais bon je finirais bien par apprendre. ;)
Un des spécialistes devrait pouvoir te répondre.
@+ Mojy
 
Nouveau WRInaute
oki. :D

Je suis peut être plus sur le bon forum concernant ce problème de rewriting, mais je ne sais pas déplacer ce fil :?:

A moins qu'il ne faut tout simplement créer un nouveau fil au bon endroit :?:

JPO
 
Discussions similaires
Haut