Besoin d'aide .htaccess (Réglé)

Discussion dans 'URL Rewriting et .htaccess' créé par Bermy, 24 Janvier 2005.

Tags:
  1. Bermy
    Bermy Nouveau WRInaute
    Inscrit:
    7 Décembre 2004
    Messages:
    48
    J'aime reçus:
    0
    Salut à tous,

    J'essaie selon plusieurs exemple d'adapter les exemples dans le forums pour créer un rewriting dans mon .htaccess.
    Je présume pour que c'est de compliqué. Je veux changer mes pages dynamics de mon directory en php à des pages statiques.
    Voici un exemple:
    XXXXX.com/search/browse.php?cat=562 qui devriendrait
    XXXXX.com/search/browse_562.php

    Je voudrais aussi pouvoir tranformer les sous-pages comme
    XXXXX.com/search/browse.php?pg_which=2&cat=562
    qui devriendrait
    XXXXX.com/search/browse_2_562.php

    J'ai 800 pages dans le directory.

    Voici la ligne de mon dernier dans mon .htaccess que j'ai mis dans le répertoire search:

    RewriteRule ^([0-9]+)\.php$ browse.php?cat=$1 [L]

    Mais pour la suite je ne sais pas comment le codifier
    J'apprécierais de l'aide, j'ai essayé mais sans changement... toujours pareil. Des idées?
     
  2. domdom26
    domdom26 WRInaute occasionnel
    Inscrit:
    9 Novembre 2004
    Messages:
    499
    J'aime reçus:
    0
    il ne vas pas de \ avant le .php

    RewriteRule ^([0-9]+)\.php$

    c'Est

    RewriteEngine on
    RewriteRule ^(.*)/browse_(.*).php$ /$1/browse.php?cat=$2 [L]

    ya plusieurs façon qui donne la même chose...
     
  3. Oncle Tom
    Oncle Tom WRInaute impliqué
    Inscrit:
    31 Mars 2003
    Messages:
    714
    J'aime reçus:
    0
    Heu si il faut un \ devant le . sinon ça signifie "n'importe quel caractère". Or c'est uniquement d'un "." dont on veut. Ensuite mieux vaut restreindre à mort les règles de réécriture, ça fait un filtre de sécurité en plus.
    Je suggère ça à la place

    Code:
    RewriteEngine on
    RewriteRule ^(.*)\/browse_([0-9]+)\.php$ /$1/browse.php?cat=$2 [L]
    
     
  4. Bermy
    Bermy Nouveau WRInaute
    Inscrit:
    7 Décembre 2004
    Messages:
    48
    J'aime reçus:
    0
    J'aimerais comprendre pour pouvoir apprendre!

    Que veut dire ^(.*)\/browse_([0-9]+)
    et pourquoi signe de $ après php
    pourquoi mettre /$1/ devant browse
    finalement pourquoi toujours finir avec un [L]
     
  5. Bermy
    Bermy Nouveau WRInaute
    Inscrit:
    7 Décembre 2004
    Messages:
    48
    J'aime reçus:
    0
    Bon, j'ai essayé les deux rewriting mais ils ne donnent aucun résultat. Je me demande si ça change quelque chose de mettre mon .htaccess dans le répertoire search versus dans celui de tout mon site étant donné que j'ai déjà .htaccess qui est installé pour tout mon site. Quand pensez-vous et comprennez-vous pourquopi ça ne fonctionne pas???
     
  6. cdpdf
    cdpdf WRInaute impliqué
    Inscrit:
    11 Mars 2003
    Messages:
    729
    J'aime reçus:
    0
    <question bete>
    as tu bien changé les liens
    </question bete>
     
  7. Bermy
    Bermy Nouveau WRInaute
    Inscrit:
    7 Décembre 2004
    Messages:
    48
    J'aime reçus:
    0
    Qu"est-ce que tu veux dire cdpdf
    quand tu me demandes as tu bien changé les liens
    et de quels liens tu parles?
     
  8. cdpdf
    cdpdf WRInaute impliqué
    Inscrit:
    11 Mars 2003
    Messages:
    729
    J'aime reçus:
    0
    si tu as bien essayer avec les nouvelles url rewrité. car c'est déjà arrivé que des personnes ne change que le fichier .htaccess et se disent que c'est tout.
     
  9. Bermy
    Bermy Nouveau WRInaute
    Inscrit:
    7 Décembre 2004
    Messages:
    48
    J'aime reçus:
    0
    Je m'excuse de te poser la question, je commence dans ce domaine mais Qu'est-ce je dois faire après avoir changé mon .htaccess?
     
  10. cdpdf
    cdpdf WRInaute impliqué
    Inscrit:
    11 Mars 2003
    Messages:
    729
    J'aime reçus:
    0
    il faut les tester cela ne se change pas tout seul dans le ton code
    mais je crois que tu le sais
     
  11. Bermy
    Bermy Nouveau WRInaute
    Inscrit:
    7 Décembre 2004
    Messages:
    48
    J'aime reçus:
    0
    Non seulement j'ai testé mais aussi je suis en IE donc fermé mon browser et réouvert... Bon tu m'as fait peur, je pensais que j'étais vraiment nul!!! Je me demande si tu aurais d'autres suggestions?
     
  12. Oncle Tom
    Oncle Tom WRInaute impliqué
    Inscrit:
    31 Mars 2003
    Messages:
    714
    J'aime reçus:
    0
    Bon on va faire simple -_-
    Tu dis que quand tu clic sur un lien ça ne fonctionne pas, peux-tu donner l'URL du lien s'il te plait ?
    Parce que changer le .htaccess c'est bien beau mais il faut aussi changer les liens pour qu'ils correspondent aux règles que tu souhaites appliquer.

    J'pense que tu devrais lire la doc .htaccess pque tu appliques plein de chose sans comprendre ce que tu fais et c'est pas bon du tout. Y'a un article sur Webrankinfo, lis le ça ira mieux après. On pourra t'expliquer ce que tu ne comprendras pas après coup.
     
  13. Bermy
    Bermy Nouveau WRInaute
    Inscrit:
    7 Décembre 2004
    Messages:
    48
    J'aime reçus:
    0
    Salut The Jedi, voilà je t'envoie un de mes liens http://www.tekclick.com/search/browse.php?cat=534 ça te donneras une idée. Maintenant, je m'assure de tj faire une recherche sur le forum avant et de faire mes expériences pour moi même avant de poser une question. J'ai belle et bien trouver la traduction du document officielle sur le forum.... je voudrais bien le lire mais il se trouve que lorsque l'on clique dessus(http://www.eisti.fr/res/manual/mod/mod_rewrite.html) on arrive sur une page 404 donc pas de chance!!! Après j'ai concsulté le document Apache sur le rewriting... Beaucoup de chose mais difficle d'accès pour débutant afin d'aider à comprendre se que l'on fait... Il y aussi beaucoup de questions sur le forum sur la modification du rewriting mais le sujet manque souvent l'ensemble des détails pour bien comprendre les changement apporté au .htaccess ou une bonne proportion traite du phpBB... Afin, j'apprécie beaucoup ton aide!
     
  14. Oncle Tom
    Oncle Tom WRInaute impliqué
    Inscrit:
    31 Mars 2003
    Messages:
    714
    J'aime reçus:
    0
    Ok mais du coup je ne sais pas la règle que tu as retenu dans ton .htaccess ;)
     
  15. Bermy
    Bermy Nouveau WRInaute
    Inscrit:
    7 Décembre 2004
    Messages:
    48
    J'aime reçus:
    0
    J'ai retenu celui que tu m'avais conseillé. Voici mon .htaccess:
     
  16. Oncle Tom
    Oncle Tom WRInaute impliqué
    Inscrit:
    31 Mars 2003
    Messages:
    714
    J'aime reçus:
    0
    Et ton fichier .htaccess il est situé dans quel répertoire ? Ton serveur tourne sous Apache2 ?
     
  17. Bermy
    Bermy Nouveau WRInaute
    Inscrit:
    7 Décembre 2004
    Messages:
    48
    J'aime reçus:
    0
    Bon, je suis sur un server Apache/1.3.29 (Unix) et mon .htaccess est de le sous-répertoire search mais j'ai aussi un autre .htaccess qui gère l'ensemble de mes répertoires. Le .htaccess qui gère le tout fonctionne à merveille et donc je présume ça devrais être la même chose pour celui que j'essaie d'instaurer. Bon! Je t'envoie une copie de mon .htaccess qui gère le tout, il est à la racine des répertoires, j'ai pris un certain temps à le construire mais il fonctionne à merveille:
     
  18. Bermy
    Bermy Nouveau WRInaute
    Inscrit:
    7 Décembre 2004
    Messages:
    48
    J'aime reçus:
    0
    Ça fait plus d'une semaine que j'essaie de changer mon .htaccess mais sans succès!! J'ai vraiment besoin de votre aide....Merci infinement! Bermy
     
  19. Bermy
    Bermy Nouveau WRInaute
    Inscrit:
    7 Décembre 2004
    Messages:
    48
    J'aime reçus:
    0
    Existe-t'il un test pour vérifier le pourquoi que ça ne marche pas avec .htaccess? Peut-être, je pourrais opter pour une façon de changer mon extension (utiliser un script) sans utiliser .htaccess? Des idées?
     
  20. Oncle Tom
    Oncle Tom WRInaute impliqué
    Inscrit:
    31 Mars 2003
    Messages:
    714
    J'aime reçus:
    0
    Je serais toi je mettrai mes conditions et règles de réécritures dans le .htaccess principal. Dans ce cas il sera bon.
    Pour voir les erreurs : voir les fichiers LOGS (error.log).
     
  21. Bermy
    Bermy Nouveau WRInaute
    Inscrit:
    7 Décembre 2004
    Messages:
    48
    J'aime reçus:
    0
    J'ai suivi tes conseils (The Jedi) et tu as raison à 100%. J'ai même enlevé les autres lignes dans mon .htaccess ainsi j'ai aussi fait subir une cure d'amaigrissement à mon .htaccess en enlevent mes anti-leech's qui ralentissent mes pages et qui risquent d'empêcher certains visiteurs d'aller sur mon site(http://prettyworthless.com/tips.php?tip=leech#tip)"Super article en passant". Bon, maintenant, ça marche à moitié. J'ai accès au deux addresses exemple: http://www.tekclick.com/search/browse.php?cat=572 une fois changé donne http://www.tekclick.com/search/browse_572.php... Cependant, si je navigue dans mon directory les addresses ne changent pas toutes seules. Comment faire pour faire changement sans avoir à tout réécrire une à une les addresses? Je vous envoie mon .htaccess modifié pour que vous puissiez mieux m'aider:
    Merci pour l'aide The Jedi... J'attends vos conseils!
     
  22. Bermy
    Bermy Nouveau WRInaute
    Inscrit:
    7 Décembre 2004
    Messages:
    48
    J'aime reçus:
    0
    Jedi, j'ai lu tes consiels sur un autres forums pour ajouter un script PHP avec la fonction RedirectPermanent dans mon .htaccess. Je voudrais savoir si d'utiliser ton script m'aiderais et si oui, pourrais-tu être explicite dans le comment faire. Où je devrais ajouter ton script? Sur tout mes pages! sur mon index!!! J'attends de tes nouvelles... Ah oui, j'oubliais! Je n'ai pas accès à mes error Log, je n'ai pas cette option chez mon hébergeur.

    P.S. Je sais qu'on doit souvent poser les mêmes questions je m'en excuse!
     
  23. Bermy
    Bermy Nouveau WRInaute
    Inscrit:
    7 Décembre 2004
    Messages:
    48
    J'aime reçus:
    0
    Et la quête continue..... Bon je viens de mettre la main sur un script qui je pourrais aider nombre d'entre vous qui chercher une solution pour rediriger votre page url.com/?page=namepage vers le nom que vous désiré... Voici le script en PHP:
    Il va bien mais je doute qu'il y a un risque que les engines de recherches référencies en double la page ou site.... Quand pensez-vous? Peut-être que vous avez d'autres solutions à proposer!!!!
     
  24. Oncle Tom
    Oncle Tom WRInaute impliqué
    Inscrit:
    31 Mars 2003
    Messages:
    714
    J'aime reçus:
    0
    Heu honnêtement c'est pas top du tout ce script :/

    dans le fichier à inclure, j'y décris des règles de redirection.

    Mon ancienne URL était du type
    -http://URL/?cat=bidule&action=truc&lib=machin (j'avais mis lib pour remplacer le paramètre 'id', problématique à l'époque).

    Code:
    <?php
    require('./engine/lib/translation.php');
    error_reporting(E_ALL ^ E_NOTICE);
    $url = '';
    
    switch( $get['cat'] )
            {
                    #news (ou rien)
                    case '':
                    case 'news':
                            $url = 'news/';
                            if( isset($get['date']) )
                            {
                                    $get['date'] = str_replace('-','_',$get['date']);
                                    $date = explode('_',$get['date']);
    
                                    $date[0] = intval($date[0]);
                                    $date[1] = intval($date[1]);
    
                                    #mois ?
                                    if( count($date) == 2 )
                                            {
                                                    $date[1] = str_pad($date[1],2,'0',STR_PAD_LEFT);
                                                    $url .= 'mois/'.$date[0].$date[1].'.htm';
                                            }
                                    #jour ?
                                    elseif( count($date) == 3)
                                            {
                                                    $date[1] = str_pad($date[1],2,'0',STR_PAD_LEFT);
                                                    $date[2] = str_pad(intval($date[2]),2,'0',STR_PAD_LEFT);
                                                    $url .= 'jour/'.$date[0].$date[1].$date[2].'.htm';
                                            }
                            }
                    break;
    
                    #newsletter
                    case 'newsletter':
                            $url = 'membre/newsletter.htm';
                    break;
    
                    #dossiers
                    case 'dossiers':
                            $url = 'dossiers/';
                            $get['lib'] = isset($get['lib']) ? $get['lib'] : '';
                            $get['lib'] = (!$get['lib'] && isset($get['id'])) ? $get['id'] : $get['lib'];
                            if( $get['lib'] )
                                    {       $url .= $get['lib'].'.htm';     }
                    break;
    
                    #veda
                    case 'veda':
                            $url = 'veda/';
                            $get['action'] = isset($get['action']) ? $get['action'] : '';
    
                            switch( $get['action'] )
                                    {
                                            case 'informations':    $url .= 'divers/informations.htm';      break;
                                            case 'conseils':        $url = 'dossiers/veda.htm';     break;
                                            case 'telecharger':     $url .= 'divers/telecharger.htm';       break;
                                            case 'stats':   $url .= 'divers/stats.htm';     break;
                                            case 'subjeu':  $url = 'veda2/proposer/';       break;
                                            case '':
                                                    #année
                                                    if( isset($get['annee']) )
                                                            {       $url .= 'listes/annee_'.$get['annee'].'.htm';   }
                                                    #éditeur
                                                    elseif( isset($get['editeur']) )
                                                            {       $url .= 'listes/editeur_'.$get['editeur'].'.htm';       }
                                                    #genre
                                                    elseif( isset($get['genre']) )
                                                            {       $url .= 'listes/genre_'.$CONV['style_jeux'][ $get['genre'] ].'.htm';    }
                                                    #joueurs
                                                    elseif( isset($get['joueurs']) )
                                                            {       $url .= 'listes/joueurs_'.$get['joueurs'].'.htm';       }
                                                    #test
                                                    elseif( isset($get['test']) )
                                                            {       $url .= 'test/'.$get['test'].'.htm';    }
                                                    #machine
                                                    elseif( isset($get['machine']) )
                                                            {       $url .= 'support/'.$get['machine'].'.htm';      }
                                            break;
                                    }
                    break;
    
                    #tutoriaux
                    case 'tuto':
                            $url = 'tutoriaux/';
                            $get['lib'] = isset($get['lib']) ? $get['lib'] : '';
                            $get['lib'] = (!$get['lib'] && isset($get['id'])) ? $get['id'] : $get['lib'];
                            if( $get['lib'] )
                                    {       $url .= $CONV['tutoriaux'][ $get['lib'] ].'.htm';       }
                    break;
    
                    #lexique
                    case 'lexique':
                            $url = 'lexique/';
                            $get['lib'] = isset($get['mot']) ? $get['mot'] : '';
                            if( $get['lib'] )
                                    {       $url .= $get['lib'].'.htm';     }
                    break;
    
                    #paduction radio
                    case 'radio':
                            $url = 'infos/radio.htm';
                    break;
    
                    #équipe/contact
                    case 'equipe':
                            $url = 'infos/contact/';
                    break;
    
                    #émulateurs
                    case 'emulateurs':
                            $url = 'emulation/';
                            $get['lib'] = isset($get['lib']) ? $get['lib'] : '';
                            $get['lib'] = (!$get['lib'] && isset($get['id'])) ? $get['id'] : $get['lib'];
                            if( $get['lib'] )
                                    {       $url .= 'emulateurs/'.$CONV['supports'][ $get['lib'] ].'.htm';  }
                    break;
    
                    #annuaire
                    case 'annuaire':
                            $url = 'liens/';
                    break;
    
                    #roms
                    case 'roms':
                            $url = 'roms/';
                            $get['action'] = isset($get['action']) ? $get['action'] : '';
    
                            switch( $get['action'] )
                                    {
                                            case 'nouveaux':        $url .= 'stats/nouveautes.htm'; break;
                                            case '':
                                                    #année
                                                    if( isset($get['console']) )
                                                            {       $url .= 'support/'.$CONV['supports'][ $get['console'] ].'.htm'; }
                                            break;
                                    }
                    break;
    
                    #chat
                    case 'chat':
                            $url = 'infos/';
                    break;
    
                    #livre d'or
                    case 'livredor':
                            $url = 'infos/livredor/';
                    break;
    
                    #concours
                    case 'concours':
                    case 'helpzesite':
                            $url = 'infos/fondation/';
                    break;
    
                    #historique
                    case 'historique':
                            $url = 'infos/divers/historique.htm';
                    break;
                    #omnicade ? on le passe en dossier
                    case 'omnicade':
                            $url = 'dossiers/omnicade.htm';
                    break;
    
                    #sinon ...
                    default:
                            $url = $get['cat'] ? $get['cat'].'/' : NULL;
                    break;
            }
    
    //header("Status: 301 Moved Permanently");
    header("HTTP/1.1 301 Moved Permanently");
    header("Location: ".rtrim(URL_ROOT,'/')."/{$url}");
    //echo("Location: ".rtrim(URL_ROOT,'/')."/{$url}");
    die();
    ?>
    
     
  25. Bermy
    Bermy Nouveau WRInaute
    Inscrit:
    7 Décembre 2004
    Messages:
    48
    J'aime reçus:
    0
    Bonjour à tous!

    J'ai finalement réussi à régler mon problème. Je tiens spécialement à vous remercier pour votre aide. The Jedi, je te remercie pour les infos et je dois dire que par ce sujet j'ai acquis une bien meilleur compréhension sur le .htaccess. Ça fait du bien d'avoir enfin la solution. Encore un gros merci!! :D
     
  26. Oncle Tom
    Oncle Tom WRInaute impliqué
    Inscrit:
    31 Mars 2003
    Messages:
    714
    J'aime reçus:
    0
    De rien de rien, jte contacte en privé pour le chèque :roll:
     
Chargement...
Similar Threads - Besoin aide htaccess Forum Date
Besoin d'aide pour configurer mon htaccess URL Rewriting et .htaccess 24 Octobre 2018
Besoin d'aide pour modifier htaccess URL Rewriting et .htaccess 26 Mai 2014
Besoin d'aide regle regex sur fichier HTACCESS Administration d'un site Web 3 Mars 2013
Besoin d'aide pour un htaccess Administration d'un site Web 17 Août 2012
[besoin d'aide]htpasswd et htaccess c/o 1&1 Développement d'un site Web ou d'une appli mobile 25 Octobre 2011
Probleme avec mon htaccess et redirection : besoin d'AIDE! URL Rewriting et .htaccess 5 Octobre 2008
Htaccess auth url auth ip besoin d aide Développement d'un site Web ou d'une appli mobile 24 Janvier 2008
Comment faire ! htaccess ? j'ai besoin de votre aide URL Rewriting et .htaccess 2 Octobre 2007
Besoin d'aide pour .htaccess Développement d'un site Web ou d'une appli mobile 24 Mai 2007
Besoin d'aide htaccess Problèmes de référencement spécifiques à vos sites 7 Janvier 2006
Besoin d'aide .htaccess URL Rewriting et .htaccess 22 Avril 2005
Besoin d'aide sur .htaccess URL Rewriting et .htaccess 10 Avril 2005
Pose de liens : Besoin d'aide d'ordre technique et besoin d'éclairage Netlinking, backlinks, liens et redirections 9 Mars 2022
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
Récapitulatif Besoin d'avis et d'aide pour mon site web. Débuter en référencement 1 Novembre 2020
Besoin d'aide pour comprendre mon Analyse Dareboost Débuter en référencement 24 Août 2019
Besoin d'aide concernant modification sur mon blog dans la barre URL. Développement d'un site Web ou d'une appli mobile 25 Juillet 2018