Tout rediriger vers un fichier php
8 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- Pasco
- Nouveau WRInaute

- Messages: 10
- Inscription: 13 Mai 2005
Tout rediriger vers un fichier php
Salut,
J'avais trouvé une méthode très simple pour faire de l'url rewriting.
Dans .htacces j'avais mis :
"ErrorDocument 404 /index.php"
Et dans index.php, je récupérais la variable globale $REQUEST_URI, que je décomposais en différentes variables pour produire à la volée la page requise.
Tout marche impeccable, sauf un petit problème : une erreur 404 est renvoyée...
Ca ne gène pas un visiteur lambda qui n'y voit que du feu, mais googlebot, lui, perçoit l'erreur 404, en conclut que ma page n'existe pas, ce qui n'est pas très bon pour le référencement.
Je n'ai pas très envie de me mettre à l'url rewriting traditionnel.
Je vouvrais bien garder la même méthode, mais sans générer une erreur...
Comment écrire mon .htaccess pour que toute requête soit renvoyée sans erreur vers index.php ? (Tout en gardant bien sûr dans $REQUEST_URI la requête du visiteur).
J'avais trouvé une méthode très simple pour faire de l'url rewriting.
Dans .htacces j'avais mis :
"ErrorDocument 404 /index.php"
Et dans index.php, je récupérais la variable globale $REQUEST_URI, que je décomposais en différentes variables pour produire à la volée la page requise.
Tout marche impeccable, sauf un petit problème : une erreur 404 est renvoyée...
Ca ne gène pas un visiteur lambda qui n'y voit que du feu, mais googlebot, lui, perçoit l'erreur 404, en conclut que ma page n'existe pas, ce qui n'est pas très bon pour le référencement.
Je n'ai pas très envie de me mettre à l'url rewriting traditionnel.
Je vouvrais bien garder la même méthode, mais sans générer une erreur...
Comment écrire mon .htaccess pour que toute requête soit renvoyée sans erreur vers index.php ? (Tout en gardant bien sûr dans $REQUEST_URI la requête du visiteur).
-

spout - WRInaute accro

- Messages: 4110
- Inscription: 14 Mai 2003
Salut,
La méthode que tu expliques avec l'erreur 404, ca va aussi très bien pour faire des urls "search engine friendly"
C'est expliqué ici: (en anglais)
http://www.sitepoint.com/article/search ... dly-urls/2
Google ne va pas voir pas d'erreur 404, c'est Apache qui génére un 404 -> ca redirige vers ton index.php et il renvoie un code 200 found.
Le problème de cette technique c'est que le fichier log de apache va être rempli d'erreurs 404.
NB: si tu comptes utiliser cette technique, fait attention pour tes formulaires au action="..." !
En effet, si tu POST des données vers un fichier qui n'existe pas, index.php va s'en charger, mais les données POST ne seront pas re-transmises apres l'erreur 404!
C'est vrai que l'url rewriting c'est pas super facile, personnelement j'utilise la méthode du PATH_INFO, avec des liens symboliques vers les fichiers php pour faire de jolies URL (semblant de répertoires)
La méthode que tu expliques avec l'erreur 404, ca va aussi très bien pour faire des urls "search engine friendly"
C'est expliqué ici: (en anglais)
http://www.sitepoint.com/article/search ... dly-urls/2
Google ne va pas voir pas d'erreur 404, c'est Apache qui génére un 404 -> ca redirige vers ton index.php et il renvoie un code 200 found.
Le problème de cette technique c'est que le fichier log de apache va être rempli d'erreurs 404.
NB: si tu comptes utiliser cette technique, fait attention pour tes formulaires au action="..." !
En effet, si tu POST des données vers un fichier qui n'existe pas, index.php va s'en charger, mais les données POST ne seront pas re-transmises apres l'erreur 404!
C'est vrai que l'url rewriting c'est pas super facile, personnelement j'utilise la méthode du PATH_INFO, avec des liens symboliques vers les fichiers php pour faire de jolies URL (semblant de répertoires)
- shrom
- WRInaute impliqué

- Messages: 865
- Inscription: 5 Juil 2004
spoutnik a écrit:Google ne va pas voir pas d'erreur 404, c'est Apache qui génére un 404 -> ca redirige vers ton index.php et il renvoie un code 200 found.
A condition de rajouter:
- Code: Tout sélectionner
header('HTTP/1.1 200 OK');
dans le fichier qui traite l'erreur.
- Pasco
- Nouveau WRInaute

- Messages: 10
- Inscription: 13 Mai 2005
spoutnik a écrit:Salut,
Google ne va pas voir pas d'erreur 404, c'est Apache qui génére un 404 -> ca redirige vers ton index.php et il renvoie un code 200 found.
?? Ecoute, je me suis aperçu du pb parce que google ne référence pas du tout mes pas autres que index, alors que googlebot les visite.
On m'a conseillé d'aller tester ma page sur http://fr.webmasterplan.com/cgi-local/linkwmp.cgi, et j'ai réalisé que tous mes liens internes renvoyaient 404.
J'ai fait le rapport avec ma façon de rediriger. Mais je vois que cette solution avait déjà été testée par qqun chez free, et qu'il prétendait être qd même correctement référencé.
Moi, pour ma part, je suis sûr que c'est l'origine de mes pbs, et si il existe une soluce, indiquez-la moi svp.
- Pasco
- Nouveau WRInaute

- Messages: 10
- Inscription: 13 Mai 2005
shrom a écrit:spoutnik a écrit:Google ne va pas voir pas d'erreur 404, c'est Apache qui génére un 404 -> ca redirige vers ton index.php et il renvoie un code 200 found.
A condition de rajouter:
- Code: Tout sélectionner
header('HTTP/1.1 200 OK');
dans le fichier qui traite l'erreur.
Tu rajoutes ça dans quoi ? .htaccess ou index.php ?
-

rottman - WRInaute passionné

- Messages: 2121
- Inscription: 6 Jan 2004
Pasco a écrit:shrom a écrit:spoutnik a écrit:Google ne va pas voir pas d'erreur 404, c'est Apache qui génére un 404 -> ca redirige vers ton index.php et il renvoie un code 200 found.
A condition de rajouter:
- Code: Tout sélectionner
header('HTTP/1.1 200 OK');
dans le fichier qui traite l'erreur.
Tu rajoutes ça dans quoi ? .htaccess ou index.php ?
juste avant le header("Location:........
- shrom
- WRInaute impliqué

- Messages: 865
- Inscription: 5 Juil 2004
Pasco a écrit:A condition de rajouter:
- Code: Tout sélectionner
header('HTTP/1.1 200 OK');
dans le fichier qui traite l'erreur.
Tu rajoutes ça dans quoi ? .htaccess ou index.php ?[/quote]
index.php sinon Apache renvoie un 404.
- Pasco
- Nouveau WRInaute

- Messages: 10
- Inscription: 13 Mai 2005
J'ai une solution :
Dans mon fichier .htacces, j'écris :
RewriteEngine on
RewriteRule ^(.+)\.htm$ /index.php
Et contrairement à ce que je pensais, on peut encore récupérer $REQUEST_URI avec la requête du visiteur. Il ne reste plus qu'à traiter cette requête.
Bref, c'est exactement comme avec ErrorDocument 404 /index.php, sauf qu'aucune erreur 404 est générée. Ca a l'air de marcher parfaitement.
Pour avoir confirmation, j'attends que google se décide à référencer mes pages secondes.
A+
Dans mon fichier .htacces, j'écris :
RewriteEngine on
RewriteRule ^(.+)\.htm$ /index.php
Et contrairement à ce que je pensais, on peut encore récupérer $REQUEST_URI avec la requête du visiteur. Il ne reste plus qu'à traiter cette requête.
Bref, c'est exactement comme avec ErrorDocument 404 /index.php, sauf qu'aucune erreur 404 est générée. Ca a l'air de marcher parfaitement.
Pour avoir confirmation, j'attends que google se décide à référencer mes pages secondes.
A+
8 messages
• Page 1 sur 1
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 :
- Rediriger l'accès à tout les fichiers + mémoire fichier
- php lister un repertoire mais pas tout les fichier
- Htaccess : comment rediriger tout ce qui suit ".php" ??
- Rediriger tout un site
- fichier.php.jpg == fichier.php sous free !!
- Tout rediriger sauf un dossier
- Rediriger tout mon site
- Tout rediriger sauf un repertoire
- Tout rediriger vers 1 page
- Htaccess pour tout rediriger
- Article sur le fichier .htaccess - 11-01-2003
- Déclarer son fichier sitemap dans le fichier robots.txt - 16-04-2007
- Sortie de GoogleStats v2.01 - 02-03-2003
- Suite de l'article sur le fichier .htaccess : l'URL rewriting - 16-01-2003
- Sitemaps : protocole commun pour Google, Yahoo et Live Search - 16-11-2006
- Tutoriel complet sur les redirections (301, 302, JavaScript, ...) - 05-08-2010
- Comment gérer simplement les sitemaps de plusieurs sites au même endroit - 28-02-2008
- Aperçu des différents types de redirection - 04-08-2008
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
