Pb URL rewriting avec les sous-dossiers

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

PointdV
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 15
Inscription: 17 Nov 2011

Pb URL rewriting avec les sous-dossiers

Message le Jeu Déc 29, 2011 17:27

Bonjour

Afin de rediriger mes anciennes pages pdf vers de nouvelles pages html, j'ai utilisé avec succès la règle suivante dans un fichier .htaccess

Code: Tout sélectionner
ErrorDocument     404         http://www.example.com/404vers301.php
RewriteEngine On
RewriteRule ^actualites/(.*)\.pdf$     http://www.example.com/fichiers/docs/$1.html [R=301,L]
RewriteRule ^Dossiers/(.*)\.pdf$     http://www.example.com/fichiers/docs/$1.html [R=301,L]


NB : Le fichier 404vers301 pointe sur la page d'acceuil du site (index.html)

- Si je cherche dans Google : -http://www.example.com/actualites/test.pdf
j'arrive avec bonheur à -http://www.example.com/fichiers/docs/test.html … Super !!

- Mais problème
Si je tape dans google l'adresse : -http://www.example.com/actualites/CP/test.pdf
je suis redirigé vers la page d'accueil … et non vers -http://www.example.com/fichiers/docs/test.html

Pourquoi inclure /CP/ dans ma recherche google ? Parce que c'était l'ancienne configuration du site qui est encore indexée dans certains annuaires.

J'ai donc essayé d'ajouter la ligne suivante :
Code: Tout sélectionner
RewriteRule ^actualites/CP/(.*)\.pdf$     http://www.example.com/fichiers/docs/$1.html [R=301,L]

ou encore
Code: Tout sélectionner
RewriteRule ^actualites\/CP\/(.*)\.pdf$     http://www.example.com/fichiers/docs/$1.html [R=301,L]

ou encore
Code: Tout sélectionner
RewriteRule CP/(.*)\.pdf$     http://www.example.com/fichiers/docs/$1.html [R=301,L]


Mais ça ne marche pas.

Pourriez-vous svp m'aider à trouver la bonne expression parce que je sèche depuis ce matin :(

Paul
Dernière édition par WebRankInfo le Lun Jan 02, 2012 12:09, édité 1 fois.
Raison: Utilisation du bon nom de domaine example.com et mise en forme de type "code"


Marie-Aude
Modérateur
Modérateur
 
Messages: 11900
Inscription: 5 Juin 2006

Re: Pb URL rewriting avec les sous-dossiers

Message le Jeu Déc 29, 2011 17:35

Merci d'utiliser example.com et pas un nom de domaine qui n'existe pas...

Signé la modo qui en a marre d'éditer des messages

PointdV
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 15
Inscription: 17 Nov 2011

Re: Pb URL rewriting avec les sous-dossiers

Message le Jeu Déc 29, 2011 23:16

Bonjour Marie-Aude

J'espérais une aide adulte et intègre pas une réponse de blasée.

De ce fait, une personne plus agréable et plus disponible pourrait-elle m'aider ?

Merci beaucoup

Paul


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 19420
Inscription: 19 Avr 2002

Re: Pb URL rewriting avec les sous-dossiers

Message le Lun Jan 02, 2012 12:05

Si tout ce qu'il y a à déplacer est dans /actualites/CP/, autant mettre les règles de réécriture/redirection dans un fichier .htaccess situé dans /actualites/CP/
Ce sera plus simple et plus efficace car cela ne surchargera pas le .htaccess de la racine du site.
Pour l'instant je ne vois pas bien ce qui pose pb dans tes règles de réécriture, désolé.

Concernant "Le fichier 404vers301 pointe sur la page d'acceuil du site (index.html)" je n'ai pas compris. Tant qu'à créer une page d'erreur 404 personnalisée, autant qu'elle affiche un message spécial qui explique à l'internaute ce qui s'est passé. Sinon, si tu ne veux pas créer de page personnalisée, autant indiquer directement qu'en cas de 404 c'est la home qu'il faut afficher.

PointdV
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 15
Inscription: 17 Nov 2011

Re: Pb URL rewriting avec les sous-dossiers

Message le Lun Jan 02, 2012 13:34

Bonjour

J'ai finalement trouvé la solution (a priori)
En fait il fallait écrire les règles de ré-écriture dans l'ordre

ici la bonne écriture est :
Code: Tout sélectionner
RewriteEngine On
RewriteRule ^actualites/CP/(.*)\.pdf$     http://www.example.com/fichiers/docs/$1.html [R=301,L]
RewriteRule ^actualites/(.*)\.pdf$     http://www.example.com/fichiers/docs/$1.html [R=301,L]

dans cet exemple si je cherche document -http://www.example.com/actualites/CP/test1.pdf il m'envoie avec succès sur -http://www.example.com/fichiers/docs/test1.html

Mais si j'écris les règles dans l'ordre inverse
Code: Tout sélectionner
RewriteEngine On
RewriteRule ^actualites/(.*)\.pdf$     http://www.example.com/fichiers/docs/$1.html [R=301,L]
RewriteRule ^actualites/CP/(.*)\.pdf$     http://www.example.com/fichiers/docs/$1.html [R=301,L]

la même demande donnera un message d'erreur car le fichier -http://www.example.com/fichiers/docs/CP/test1.html n'existe pas !!!

pour répondre à la question du fichier "404vers301"
celui-ci est un php pour envoyer vers l'accueil (modifié en l’occurrence) en modifiant le code d'erreur 404 en un code 301 (redirection permanente) - (en fait l'accueil en question est une page d’accueil du site personnalisée en plan de site)

Code: Tout sélectionner
<?php
header("Status: 301 Moved Permanently", false, 301);
header("Location: http://www.www.example.com/accueil404.html");
exit();
?>



Merci


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 19420
Inscription: 19 Avr 2002

Re: Pb URL rewriting avec les sous-dossiers

Message le Lun Jan 02, 2012 19:57

quel est l'intérêt de faire une 301 vers accueil404.html ? pourquoi ne pas l'indiquer directement dans la directive ErrorDocument ?

PointdV
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 15
Inscription: 17 Nov 2011

Re: Pb URL rewriting avec les sous-dossiers

Message le Mar Jan 03, 2012 10:18

Bonjour

J'ai fait cela car j'ai lu à cette page http://www.annuaire-info.com/referencement/errordocument-404/

Il est possible de transformer astucieusement l’instruction ErrorDocument 404 en redirection 301. Pour cela, il vous faudra utiliser cette ligne dans .htaccess :
ErrorDocument 404 /404vers301.php
Ici aussi une redirection aura lieu vers la page avec le plan du site, mais, cette fois, ce sera une redirection 301. C’est sans importance pour les visiteurs, mais, pour les robots de Google et des autres moteurs, c’est tout différent. Pour eux, le code HTTP 301 signifie que l’adresse demandée est périmée et qu’ils doivent la remplacer dans leur index par l’adresse de la redirection. Dans notre exemple, ce sera l’adresse du plan du site. Cette adresse récupérera tout le poids des backlinks (PageRank, link juice,…) des adresses erronées.


Etant très amateur dans le domaine ... j'ai suivi l'indication ...

Paul


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :

Consultez la description détaillée des produits ou services de Google suivants : Google goo.gl

  • Analyse de popularité
    Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées.
  • Transformer des simples citations de votre site en liens
    Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).


Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités