Besoin d'aide pour une redirection

Discussion dans 'URL Rewriting et .htaccess' créé par freestyle83, 8 Juin 2013.

  1. freestyle83
    freestyle83 WRInaute occasionnel
    Inscrit:
    19 Novembre 2011
    Messages:
    402
    J'aime reçus:
    16
    Bonjour,

    Depuis 5 jours je perds chaque jours du trafic. Hier j'en ai perdu 1/4, ce qui commence à faire beaucoup pour moi.
    La perte est progressive, au début j'ai mis ça sur "les beaux jours" jusqu'à ce que par hasard j'aille faire un tout sur GWT et là ... je me suis rendu compte que j'avais une trentaine de page en 3 exemplaires chacune ! (suite à une erreur de code et suite à un oublie). Un DC interne donc.

    Question 1 : Juste en passant, pensez-vous que cela puisse être la raison de ma baisse de traffic très progressive?
    Je ne pense pas que ce lié à l'animal sinon je pense que j'aurais une chute brusque..

    Question 2 et celle qui fait l'objet de ma venue : j'ai besoin d'aide pour rediriger ces pages.
    Le regex et le htacess c'est pas ma tasse de thé, donc si bonne âme passe par là pour m'aider ça serait gentil :)

    Donc pour résumé j'ai :

    -http://www.monsite.com/anecdote_topic.php?t=259.php
    et
    -http://www.monsite.com/anecdote_topic.php?t=259
    et
    -http://www.monsite.com/Dossiers/Jeux/10-chien-pour-la-famille.php

    C'est trois liens ont la même et unique page et je voudrais rediriger les deux premiers vers la troisième
    en sachant j'ai ça :

    Code:
    RewriteRule ^(.*)/Jeux/(.*)\.php$ /oss_loisirs.php?nom=$2 [L]
    qui me sert pour des fichiers que j'ai déjà dans le dossiers Jeux.

    Alors j'ai bien essayé en faisant ça :
    Code:
    RedirectPermanent  /anecdote_topic.php?t=259.php http://www.monsite.com/dossiers/Jeux/10-chien-pour-la-famille.php
    Mais bien entendu ça ne fonctionne pas ...

    Merci d'avance pour votre aide
     
  2. freestyle83
    freestyle83 WRInaute occasionnel
    Inscrit:
    19 Novembre 2011
    Messages:
    402
    J'aime reçus:
    16
    Personne pour m'aider?? :(

    Mes pages sont classés au top 3, ça m'embête vraiment de devoir les supprimer...
     
  3. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 181
    J'aime reçus:
    1
    tu as un souci a l'accueil déjà car tes url sont présentes sous une forme que tu souhaite supprimer (http://www.example.com/anecdote_topic.php?t=259.php) il faut donc que tu commence par les afficher dans la version que tu souhaite utiliser.

    Après difficile de te répondre car les urls d'exemple que tu donne n'ont pas de relation logique entre elle donc on ne peut pas te donner une règle de réécriture.
     
  4. freestyle83
    freestyle83 WRInaute occasionnel
    Inscrit:
    19 Novembre 2011
    Messages:
    402
    J'aime reçus:
    16
    Bonjour Zeb :) et merci pour ta réponse

    Je dois me mélanger les pinceaux..En fait cette url forme d'url est très bien référencé, c'est pour ça qu'en attendant je la laissais pour pas perdre plus de trafic que ce que j'en perds déjà ..

    A la base je voulais simplement virer les url sous cette forme :
    http://www.monsite.com/anecdote_topic.php?t=259.php

    et ne garder que celles-là :
    http://www.monsite.com/anecdote_topic.php?t=259

    Puis j'ai vu que j'avais encore ces articles sous cette forme
    http://www.monsite.com/Dossiers/Jeux/10-chien-pour-la-famille.php

    Ce qui d'un point de vue référencement est mieux.

    Pour moi je vois deux solutions :
    - soit j'arrive à rediriger mes pages d'une manière ou d'une autre
    - soit je dois supprimé les premières url et donc perdre leur référencement.

    Car toutes ces formes d'url sont indexés et ont le même contenu...

    Une redirection de http://www.monsite.com/anecdote_topic.php?t=259 vers http://www.monsite.com/Dossiers/Jeux/10-chien-pour-la-famille.php est impossible?

    En tout cas 'jessaie plein de truc sans succès :? :?


    Edit: si c'est pas possible, ça devrait être possible de rediriger les pages : http://www.monsite.com/anecdote_topic.php?t=259.php vers http://www.monsite.com/anecdote_topic.php?t=259
    et je supprime les autres qui sont m oins bien référencé ?
     
  5. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 181
    J'aime reçus:
    1
    pour le avec '.php' vers le sans '.php' tu peux essayer un truc du genre :

    RewriteRule ^(.*)anecdote_topic.php?t=(.*)\.php$ anecdote_topic.php?t=$2 [L, R=301]

    histoire de te débarrasser des 'php' à la fin. j'ai pas testé je doute que ça fonctionne faut surtout comprendre que le "(.*)\.php" de la fin va permettre de récupérer l'id du sujet et de renvoyer dessus sans le php en 301 bien sur pour ne pas perdre ce que tu pourrais avoir la dessus.

    Concernant tes url réécrites du genre "Dossiers/Jeux/10-chien-pour-la-famille.php" c'est plus délicat car il n'y a pas de lien entre l'url a paramètre et l'url finale ce qui me fait penser que tu dois avoir ça dans une base.

    Si tel est le cas tu devrais intercepter toutes les url a paramètre (avec ou sans '.php') et les renvoyer sur un script qui lui ferait la requête sur la base pour renvoyer en 301 via php vers l'url réécrite. Il conviens dans tous les cas de faire en sorte que tes pages ne contiennent plu ces urls pour éviter les redirection pour les internautes et les faire disparaitre progressivement de l'index.

    Sinon en effet plusieurs pages profondes identiques (accessibles via des url différentes) peuvent être la source de ta perte de trafic.
     
  6. freestyle83
    freestyle83 WRInaute occasionnel
    Inscrit:
    19 Novembre 2011
    Messages:
    402
    J'aime reçus:
    16
    ça me renvoie sur une erreur 500 qui disparaît en enlevant le L ou le R ... ensemble, ça plante je ne sais ps pourquoi.
    Et sans planter ça ne redirige pas...

    Effectivement toutes mes fichiers sont en base de donnés, j'ai eu un très bon professeur pour ça :wink:
    Donc si je comprends bien ce que tu me dis je dois rediriger toutes mes url vers un script qui lui réécrira et redirigera en 301 sous une forme propre.

    Pourquoi pas, ça me parait effectivement la solution la plus propre dans toutes cette pagaille.

    Mais pour ça il faut d'abord que j'arrive à renvoyer ces urls sur le fichier en question...avec htaccess.

    Et là logiquement avec ça ça devrait fonctionner :

    Code:
    RedirectPermanent  /anecdote_topic.php?t=259.php   http://www.monsite.com/redirection.php
    je comprend pas pourquoi ça ne fonctionne pas, j'ai toujours fais les redirection de cette façon... en prenant un autre article d'un autre domaine ça fonctionne et là non . Je dois avoir une ligne quelque part qui fou la ****

    Edit : bon c'est bon j'ai réussi a renvoyer les pages /anecdote_topic.php?t=259 avec ou sans php vers mon fichier redirection.php
    avec ça :

    Code:
    <?php
    header("Status: 301 Moved Permanently", false, 301);
    header("Location: http://www.monsite.com/redirection.php"); 
    exit();
    
    ?>
    Et les url du type /dossiers/Jeux/xxxxxxxxxxx.php
    sont rediriger via htacess .


    Maintenant faut que je m'occupe du dit - script.
     
  7. freestyle83
    freestyle83 WRInaute occasionnel
    Inscrit:
    19 Novembre 2011
    Messages:
    402
    J'aime reçus:
    16
    Bon, alors voici ce que j'ai fait, et j'aurais besoin de ton avis histoire d'être sûre de ne pas refaire de boulette

    Sur la page anecdote_topic j'ai écris ça :

    Code:
    <?php
    if ((isset($_GET['t'])) && (!empty($_GET['t'])))
    {
    		$redirection= ($_GET['t']);
    			
    }
    else
    	echo 'error';
    	
    header("Status: 301 Moved Permanently", false, 301);
    header("Location: http://www.monsite.com/redirection.php?param=$redirection"); 
    exit();
    ?>
    Et sur la page redirection.php j'ai écris ça :

    Code:
    if ((isset($_GET['param'])) && (!empty($_GET['param'])))
    	{	
    		$requete = ($_GET['param']);
    		$req_table = mysql_query ("SELECT * FROM ftl_loisir WHERE id='$requete'");
    		$oss_loisir = mysql_fetch_assoc($req_table);
    	}
    else
     echo 'ne marche pas';
    
    	if(isset($oss_loisir['titre']))
    	{	
    		header("Location: http://www.monsite.com/dossiers/Jeux/".$oss_loisir['url'].".php"); 
    	}
    	else
    	echo 'error';//renvoyer vers une suppression définitive
    Je garde la structure de l'url de la forme /dossiers/Jeux/xxxx.php
    Et sur htaccess j'ai ça :
    Code:
    RewriteRule ^(.*)/Jeux/(.*)\.php$ /oss_loisirs.php?nom=$2 [L]
    Au final, les url de la forme /anecdote_topic.php?t=259.php ressortent sous forme /dossiers/Jeux/xxx.php
    dont xxx correspond à l'url de l'id (ici 259).

    Il va me rester quelque fichiers que je vais renvoyer vers une page 404 au derniers echo et ainsi pouvoir les désindexer/supprimer avec google à moins qu'il y ai une solution plus propre.

    Voilà, qu'en penses-tu Zeb?
     
  8. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 181
    J'aime reçus:
    1
    Hummm il y a comme un truc qui me chicote on dirait qu'ainsi tu va enchainer plusieurs redirections a la suite ce qui n'est pas top. je pense que tu devrais grouper les deux action pour n'avoir qu'un saut a faire

    page anecdote_topic :
    Code:
    <?php
    if ((isset($_GET['t'])) && (!empty($_GET['t']))){
          $redirection = ($_GET['t']); 
    }
    $req_table = mysql_query ("SELECT * FROM ftl_loisir WHERE id='$redirection'");
    $oss_loisir = mysql_fetch_assoc($req_table);
    header("Status: 301 Moved Permanently", false, 301);
    header("Location: http://www.monsite.com/dossiers/Jeux/".$oss_loisir['url'].".php");
    exit();
    ?>
    
    Si j'ai bien compris ta façon de procéder qui semble fonctionner là tu renvoie tout directement en une fois sur le bon script.
    Après ça ne semble pas gérer la réécriture qui donnait une url du style "http://www.monsite.com/Dossiers/Jeux/10-chien-pour-la-famille.php" auquel cas il faut peut être extraire le titre de l'article (si c'est ça qui conditionne le "10-chien-pour-la-famille.php") avec ta requête pour forger une bonne adresse et l'envoyer avec la même commande header.
     
  9. freestyle83
    freestyle83 WRInaute occasionnel
    Inscrit:
    19 Novembre 2011
    Messages:
    402
    J'aime reçus:
    16
    C'est ce que je me suis dit après coup... "Pourquoi je le fais sur deux page alors que ça peut très bien fonctionner sur une seule". J'ai du m'arrêté entre temps et donc là je viens de testé et effectivement ça fonctionne aussi comme ça et c'est tout aussi bien. (Bon j'ai rajouté ma condition pour des fichiers qui n'existe plus.)
    Ca évite une redirection.

    Pour les url de la forme "http://www.monsite.com/Dossiers/Jeux/10-chien-pour-la-famille.php", je n'y touche pas car je redirige les url précédentes vers la même forme que celle-ci.

    Ainsi /anecdote_topic.php?t=259.php devient /Dossiers/Jeux/10-chien-pour-la-famille.php

    Je crois qu'on peut dire qu'on a réussi à résoudre le problème. :D Merci à toi Zeb
     
  10. zeb
    zeb WRInaute accro
    Inscrit:
    5 Décembre 2004
    Messages:
    12 181
    J'aime reçus:
    1
    :wink: @++
     
Chargement...
Similar Threads - Besoin aide redirection Forum Date
Redirection 301 impossible ! Besoin d'aide URL Rewriting et .htaccess 26 Juillet 2016
Besoin d'aide pour redirection 301 URL Rewriting et .htaccess 18 Avril 2015
Redirections 301, j'aurais besoin d'aide Netlinking, backlinks, liens et redirections 19 Août 2014
Redirection 301 d'une sous catégorie : besoin d'aide svp Débuter en référencement 2 Juin 2014
besoin d'aide pour la redirection sans WWW Netlinking, backlinks, liens et redirections 18 Mai 2012
Besoin d'aide pour faire une redirection. Netlinking, backlinks, liens et redirections 2 Février 2011
Besoin d'aide pour le lancement de mon Application Demandes d'avis et de conseils sur vos sites 12 Août 2021
Besoin d'aide pour la compréhension d'une application Développement d'un site Web ou d'une appli mobile 1 Août 2021
Besoin d'aide SEO pour mon site Débuter en référencement 13 Mai 2021
Besoin d'aide pour soucis avec le certbot chez OVH - VPS URL Rewriting et .htaccess 6 Avril 2021