|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2006 Messages : 90 ![]() |
Bonjour,
Avant mon site était construit avec un fichier xxxxxx.html (ou xxxxx.php) pour chaque page. Je viens de refondre complètement tout cela et, désormais, toutes mes données sont dans une base mysql et la nouvelle adresse de chaque page est du style index.php?id=xx Le problème, c'est que le nombre de visiteur a chuté de façon incroyable depuis que j'ai fait cette opération (j'utilise phpmyvisite). Alors que j'avais entre 100 et 150 connexions par jour auparavant, je n'en ai plus que moins d'une vingtaine maintenant ! Je sais que beaucoup sont guidés par les moteurs de recherche et vont directement vers la page qu'ils recherchent et je voudrais les rediriger automatiquement vers la nouvelle adresse de cette page. Dans ma table, j'ai un champ qui contient l'ancienne adresse et je pensais faire une redirection. Pour cela, voilà ce à quoi j'avais pensé : j'utilise un .htaccess qui envoie les visiteurs vers une page d'erreur donnée. À partir de cette page, je pensais récupérer l'adresse recherchée par mon visiteur avec $_SERVER['HTTP_REFERER'] pour faire la conversion, ensuite, avec la nouvelle adresse... Ça fonctionne sur mon serveur de test, installé sur mon ordinateur, mais pas chez mon hébergeur ! $_SERVER['HTTP_REFERER'] n'est pas récupérée ! D'où ça peut venir ? Auriez-vous une autre idée ? ou une suggestion pour me permettre d'exploiter la mienne ? Bien cordialement, |
|
|
00
|
|
|
#2 | ||
|
Membre Expert
![]() |
Tu peux te tourner vers une solution en url_rewriting si tu as mod_rewrite activé.
Voici un petit exemple à placer dans le htaccess: Code :
|
||
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2006 Messages : 90 ![]() |
Oui, mais il faut bien que je récupère l'adresse initiale que le visiteur voulait visiter pour cela, non ?
sinon comment savoir vers quelle page rediriger ? Ou alors, je n'ai pas compris ta suggestion... |
|
|
00
|
|
|
#4 |
|
Nouveau Membre du Club
![]() Inscription : janvier 2006 Messages : 90 ![]() |
De toutes façons, je viens de tester en suivant les conseils de cette page
http://www.martiusweb.net/tutoriaux,03_01.html et le test n'est pas concluant : le mod_rewrite ne semble pas activé. Merci de ton aide néanmoins, |
|
|
00
|
|
|
#5 |
|
Membre chevronné
![]() Développeur Web Inscription : décembre 2004 Messages : 636 ![]() |
Salut,
l'url rewriting est surement la solution la plus "propre", mais si tu ne peux pas le mettre en place à cause de ton hébergeur, en voici une autre : tu définis une page d'erreur 404 personnalisée que tu fais pointer vers un script php que tu créé spécialement. Dans ce script, tu récupères l'url demandée par le client (voir le tableau $_SERVER[] dans la doc php). Puis tu manipule cette url, tu la bidouille, tu la découpe, bref, t'en fais ce que tu veux pour récupérer les informations qui t'intéressent (ex nom de la page html, un paramètre passé en get qui identifie une ancienne page php ...), et tu détermine la nouvelle page à afficher. Si ton script trouve la page, tu fais un header("Location: ...), s'il ne la trouve pas, tu enregistre l'erreur dans un fichier de log, ça te permettra de garer une trace des fois ou ton script n'a pas trouvé la page, et ainsi de le compléter petit à petit ....
__________________
Ne cliquez pas sur ce lien |
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() |
1. As-tu vérifié dans les access-logs d'apache les requêtes HTTP reçues?
2. Une solution toujours possible est d'inclure des liens symboliques sur ton serveur qui pointent vers tes pages php et qui portent les noms de tes anciennes pages Le problème est de toutes façons un peu éphémère puisque les moteurs de recherche vont rapidement indexer les nouvelles pages. |
|
|
00
|
|
|
#7 | |
|
Membre chevronné
![]() Développeur Web Inscription : décembre 2004 Messages : 636 ![]() |
Citation:
__________________
Ne cliquez pas sur ce lien |
|
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() |
ça c'est à voir en fonction du site et le taux d'incrustation
Si oui alors peut-être envisager les liens symboliques |
|
|
00
|
|
|
#9 | |
|
Nouveau Membre du Club
![]() Inscription : janvier 2006 Messages : 90 ![]() |
Citation:
C'était ma première idée (d'après ce que je comprends, c'est bien à $_SERVER['HTTP_REFERER'] que tu pense ?), mais pour une raison que je ne sais pas expliquer, ça marchait tip top sur mon serveur de test, chez moi, mais ça ne marche pas sur le serveur de mon hébergeur. |
|
|
|
00
|
|
|
#10 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2006 Messages : 90 ![]() |
Citation:
Citation:
Oui, mais difficilement faisable : j'ai plus de 500 pages (avec quelquefois peu de chose, mais ça fait quand même pas mal de liens à faire et les risques d'erreur sont importants. |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com