ModRewrite ou programme deriere Errordocument 404

Nouveau WRInaute
Bonjour,

Je m'interresse depuis peut au référencement de mon outil de gestion de site fait en PHP. Au vu des referencements catastrophiques de mes sites j'ai mis en place le modRewrite pour plusieurs d'entres eux. Seulement de temps en temps une URL est mal digéré par Apache se qui a pour senction de le faire planter tot ou tard.

Donc ce probleme de plantage du serveur m'a fait penser a une autre solution :
Utiliser Errordocument 404 en l'envoyent sur un programme PHP faisant une redirection.

Donc d'apres vous cette solution est elle :

[ ] pas conseille car Google dans ca grande misericorde detecte ce genre d'astuce
[ ] c'est beaucoup plus lourd pour le serveur
[ ] c'est plus long ....
[ ] Autre .....

Merci de votre avis....
 
Nouveau WRInaute
Tchinkatchuk a dit:
tu veux en fait faire une page 404 personalisée redirigeant vers l'index par exemple ? c'est ca ?

Oui, au lieu que se soit Apache qui fasse le rewrite, declancher une erreur 404 sur un script PHP qui interprette l'URL et donne la bonne page en relocation.

On peut meme imaginer que ce script construise directement la page sans faire de relocation car si il dechiffre l'URL il peut meme faire la page directement, mais là c'est plus dur car il me faudrait reecrire une partie du moteur de gestion... Mais pourquoi pas.
 
Nouveau WRInaute
Tchinkatchuk a dit:
Alors la, tu me pose une colle !
Remarque, ce sera pas la première fois ni la dernière lol :?

hihi :D

En fait le site ou je fait le reWrite est http://www.tourisme93.com. Le reWrite a etait un mauvais patch car le site n'est pas fait pour... Mais ca a ameliore grandement le referencement de Google.

Seulement on a eu depuis un plantage de serveur dut a des URL qui mettaent Apache en boucle et on n'est pas passe loin il y a pas longtemps...

Au vu de ce probleme je preferepais faire le travail avec un PHP que je mettrise beaucoup plus.

Au fait les URL etait produite par des robots de recherches ou de traduction, et ne respectaient pas ma syntaxe.. Cela donne des cas particuliers que mon ReWrite ne digere pas...


Voila tout est dit !
 
Nouveau WRInaute
Ben alors.... personne n'a fait du rewrite sans le mod rewrite ??. Donc pas de conseil.... Si j'ai le temps j'essairais donc.

Mais j'aurais quant meme bien voulu savoir coment reagi Google a ce petit truc..
 
Nouveau WRInaute
Bon, c'est pas simple comme problème...

D'abord je pense que provoquer systématiquement un 404 n'est pas une bonne solution.
Les robots pourraient ne pas indexer tes pages (logique puisque ton serveur, en envoyant un code réponse 404, indique que la page n'existe pas ou plus).

J'utiliserais plutôt une règle très simple du modRewrite consistant à tout rediriger vers un seul script.

Pourquoi ne pas faire un .htaccess qui ressemblerait à çà
Code:
RewriteEngine on
RewriteRule ^(*+)$ index.php

et puis dans ton index.php tu traites l'url en utilisant la variable globale $REQUEST_URI
 
Nouveau WRInaute
fred2b a dit:
Bon, c'est pas simple comme problème...

hihi ... c'est vrais. Mais je crois que tu as la solution !

fred2b a dit:
D'abord je pense que provoquer systématiquement un 404 n'est pas une bonne solution.
Les robots pourraient ne pas indexer tes pages (logique puisque ton serveur, en envoyant un code réponse 404, indique que la page n'existe pas ou plus).

En fait c'est un peut mon probleme, je ne sais pas si ils savent qu'il y a ce declanchement car en fait il y a plein de page de mon site qui n'existe plus et qui sont toujours dans Google. Par contre elles ont la notation "page similaire" mais c'est tout a fait normal car actuellement je renvoie ma page d'accueil.
Donc je ne suis pas sur que l'erreur 404 leurs soit retourne dans ce cas...
Par conte il faudra que je regarde les Logs de mon serveur quqnt je joues a ca car ils risquent de se remplir d'erruer 404 ...

fred2b a dit:
J'utiliserais plutôt une règle très simple du modRewrite consistant à tout rediriger vers un seul script.

Pourquoi ne pas faire un .htaccess qui ressemblerait à çà
Code:
RewriteEngine on
RewriteRule ^(*+)$ index.php

et puis dans ton index.php tu traites l'url en utilisant la variable globale $REQUEST_URI

Si la variable $REQUEST_URI apres le ReWrite vaut bien l'anciennte URL ( http://document-var1-_-val1-_-var2.......... html )
c'est gagné !

Je vais faire des tests

Merci pour l'idée :wink:
 
WRInaute discret
Un rewrite sur Erreur 404 ne pénalise t-il pas énormément sur les moteurs de recherches ???
Je viens de le retirer d'un site, en conséquent il revient de faire surface d'un bloc 8)
Pour moi la base était d'écrire des pages virtuelles non existantes sur tous les critères de recherche du site pour afficher une liste de pages connexes et adaptées à la recherche .. je ne sais pas si cela a un véritable effet ..
 
Discussions similaires
Haut