Url réécrite & récupération des paramètres en Get

Discussion dans 'URL Rewriting et .htaccess' créé par akara, 14 Juin 2007.

  1. akara
    akara WRInaute discret
    Inscrit:
    14 Juin 2007
    Messages:
    56
    J'aime reçus:
    0
    Bonjour,
    je travail en local, donc le module mod_rewrite et LoadModule blablabla sont activés,
    pour les variables, les espaces ou ' je les ai convertis en -,
    jusque là pas de souci, le .htaccess semble nickel (pour ma part :lol:)
    mais j'ai quand même l'erreur internal serveur,warum??:cry:
    ne vous inquiétez pas le .htaccess se trouve bel et bien à la racine.
    Voici mon htaccess :x

    #le serveur doit suivre les liens symboliques :
    Options +FollowSymlinks
    #activation du module de réécriture d'URL
    RewriteEngine on
    #-------------------------------
    #Règles de réécriture d'Url
    #-------------------------------

    RewriteRule ^fiche_mairie-([0-9]+)-(-[a-z]*)-(-[a-z]*)-([0-9]+)\.html$
    /test__mairies/fiche_mairie.php?id_com=$id_com&nom_dep=$nom_dep&nom_mairie=$nom&cp=$cp [L]

    RewriteRule ^fiche_mairie-([0-9]+)-(-[a-z]*)-([0-9]+)\.html$
    /test__mairies/fiche_mairie.php?id_com=$id_com&nom_dep=$nom_dep [L]

    RewriteRule ^fiche_commune-([0-9]+)-(-[a-z]*)\.html$
    /test__mairies/fiche_commune.php?num_dep=$num_dep&nom_dep=$nom_dep [L]

    RewriteRule ^fiche_mairie-([0-9]+)-([0-9]+)-(-[a-z]*)-([0-9]+)\.html$
    /test__mairies/fiche_mairie.php?id_com=$id_com&num_dep=$num_dep&nom_mairie=$nom&cp=$cp [L]

    RewriteRule ^mairie-([0-9]+)\.html$
    /test__mairies/mairie.php?id_com=$id_com [L]
     
  2. nartconcept
    nartconcept WRInaute occasionnel
    Inscrit:
    12 Juin 2007
    Messages:
    325
    J'aime reçus:
    0
    rajoutes RewriteBase / après RewriteEngine on :

    RewriteEngine on
    RewriteBase /

    note : si ton site site est dans un sous-dossier :

    RewriteBase /le nom de dossier

    cordialement
     
  3. e-kiwi
    e-kiwi WRInaute accro
    Inscrit:
    23 Décembre 2003
    Messages:
    13 257
    J'aime reçus:
    1
    tu es sur ton propre dédié ou sur un mutualisé ?
     
  4. akara
    akara WRInaute discret
    Inscrit:
    14 Juin 2007
    Messages:
    56
    J'aime reçus:
    0
    j'ai mis le site
    dans le répertoire www de easyphp !,
    et puis dans le dossier www y a un dossier test qui contient test.html avec un .htaccess qui réécrit l'url en inconnu.html comme dans le tuto et ça marche !!
    est ce que je devrais quand même faire :
    RewriteBase /
     
  5. akara
    akara WRInaute discret
    Inscrit:
    14 Juin 2007
    Messages:
    56
    J'aime reçus:
    0
    bin nan je travail en local ( easyphp )
     
  6. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 661
    J'aime reçus:
    4
    Code:
    #le serveur doit suivre les liens symboliques :
    Options +FollowSymlinks
    #activation du module de réécriture d'URL
    RewriteEngine on
    #-------------------------------
    #Règles de réécriture d'Url
    #-------------------------------
    
    RewriteRule ^fiche_mairie-([0-9]+)-(-[a-z]*)-(-[a-z]*)-([0-9]+)\.html$
    /test__mairies/fiche_mairie.php?id_com=$1&nom_dep=$2&nom_mairie=$3&cp=$4 [L]
    
    RewriteRule ^fiche_mairie-([0-9]+)-(-[a-z]*)-([0-9]+)\.html$
    /test__mairies/fiche_mairie.php?id_com=$1&nom_dep=$2[L]
    
    RewriteRule ^fiche_commune-([0-9]+)-(-[a-z]*)\.html$
    /test__mairies/fiche_commune.php?num_dep=$1&nom_dep=$2 [L]
    
    RewriteRule ^fiche_mairie-([0-9]+)-([0-9]+)-(-[a-z]*)-([0-9]+)\.html$
    /test__mairies/fiche_mairie.php?id_com=$1&num_dep=$2&nom_mairie=$3&cp=$4 [L]
    
    RewriteRule ^mairie-([0-9]+)\.html$
    /test__mairies/mairie.php?id_com=$1 [L]
    
    Ca marchera sans doute mieux ... le .htaccess va pas reconnaître tes variables issues de ton php ...
     
  7. akara
    akara WRInaute discret
    Inscrit:
    14 Juin 2007
    Messages:
    56
    J'aime reçus:
    0
    je viens de le faire, mais si je passe par l'url non réécrite cela fonctionne
    mais pas les url réécrites
    ,est ce qu'il faut que je réécrits toutes les pages php en html ?
    & quand j'appelle des pages par include et require_once,cela pose un problème pour la réécriture ?
     
  8. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 661
    J'aime reçus:
    4
    Non, laisse tes pages en .php, c'est le but de la réécriture d'URL ..
    Si ça ne fonctionne pas après, c'est que tes règles ne sont pas correctes.
     
  9. akara
    akara WRInaute discret
    Inscrit:
    14 Juin 2007
    Messages:
    56
    J'aime reçus:
    0
    donc si je comprend bien dans le htaccess il faut que je ne mette que les liens (qui se trouve dans mes page .php) où j'envoie des variables avec la méthode Get ? disont que j'ai un lien dans pageA.php qui renvoie une variable sur pageN.php et que dans pageB.php j'ai le même lien avec variable qui renvoie sur pageN.php , il faut que dans le htaccess le lien n'apparait qu'une fois?
    désolé mais j'ai du mal à comprendre zui encore "débutant"
     
  10. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 661
    J'aime reçus:
    4
    alors un exemple s'impose :

    RewriteRule ^page-([0-9]+)-([0-9]+)\.html$
    /page.php?id=$1&nb=$2[L]

    La règle ci desuss indique au serveur de traiter l'URL
    /page-3-5.html
    comme si c'était
    /page.php?id=3&nb=5

    Voilà. Donc sur la page HTML le lien devra appeler l'URL "page-3-5.html", le serveur l'interpretera avec la règle qui correspond.

    Ai-je été clair ?
     
  11. akara
    akara WRInaute discret
    Inscrit:
    14 Juin 2007
    Messages:
    56
    J'aime reçus:
    0
    oui oui mais nan lol pour la règle pas de souci j'ai pigé comme un pigeon !
    tu dis que "Donc sur la page HTML le lien devra appeler l'URL "page-3-5.html", le serveur l'interpretera avec la règle qui correspond. "
    donc normalement quand je clique sur un lien dans mon navigateur je doit avoir "page-3-5.html", la c'est ok mais mon index.php doit reste index.php ? et les autres que j'appelle via un lien se "transforme" en "page-3-5.html", ce qui n'est pas le cas, mais je vais revoir les règles se soir !
    Je te remercie beaucoup
    Aligato
    Thank's
    danke schöne !
    Saol !
     
  12. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 661
    J'aime reçus:
    4
    Non, le lien ne se transforme pas tout seul.

    Si tu cliques sur un lien <a href="/page.php?id=3&nb=5"> ben il va pas se changer tout seul en lien réécrit.

    Tu dois le réécrire dans le code source de la page.
     
  13. akara
    akara WRInaute discret
    Inscrit:
    14 Juin 2007
    Messages:
    56
    J'aime reçus:
    0
    Comment le réécrire dans la page?
    faut faire comme ceci ?:

    <a href=\"fiche_commune-([0-9]+)-(-[a-z]*).html\">
     
  14. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 661
    J'aime reçus:
    4
    Ben non,
    Code:
    <a href="/page-3-5.html">lien</a>
    
    tout simplement
     
  15. akara
    akara WRInaute discret
    Inscrit:
    14 Juin 2007
    Messages:
    56
    J'aime reçus:
    0
    ...je vois mais j'ai des variables $num_dep etc.... je ne peux les remplacer par des "données" .

    Code:
    echo "<td><a href=\"fiche_commune.php?num_dep=$num_dep&nom_dep=$nom_dep\">(".$dep['numdep'].") ".$nom_dep."</a></td>";
     
  16. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 661
    J'aime reçus:
    4
    Et bien tu mets
    Code:
    <?php
    
    echo "<a href=\"fiche_commune-".$num_dep."-".$num_cequetuveux.".html\">
    
    ?>
    
     
  17. akara
    akara WRInaute discret
    Inscrit:
    14 Juin 2007
    Messages:
    56
    J'aime reçus:
    0
    c'est dommage que dans le tuto ce n'est pas aussi bien expliqué que ton expliquation lol.
    mais en faisant ce que t'a fait avec

    Code:
    <?php
    
    echo "<a href=\"fiche_commune-".$num_dep."-".$num_cequetuveux.".html\">
    
    ?> 
    est ce que cela ne posepas de problème pour la récupération des variables en $_GET?

    en effet j'obtient la réécriture des url mais j'ai l'erreur 404 qui dit que la page est introuvable , pourquoi ?
    cela n'a rien à voir avec l'envoie des variables ,si?
    faut-il que je renomme les pages.php en pages.html ??
    autre question lol quand j'arrive sur index sur le navigateur j'ai index.php mais quand je change l'extension en .html cela fonctionne mais que dois-je faire pour que j'ai directement index.html ? sur .htaccess la réécriture est deja faite

    je te remercie deja pour ton aide !!
     
  18. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 661
    J'aime reçus:
    4
    Pas de souci pour la récupération en GET. La réécriture va indiquer au serveur d'interpréter l'url réécrite comme une url en .....php?parametres= ...

    Après si tu as une erreur 404, c'est que ta règle de réécriture n'est pas bien écrite.

    Tu n'as pas besoni de renommer tes pages en .html (faut d'ailleurs surtout pas le faire)

    Euh au fait, j'espère que t'as pas mis
    $num_cequetuveux
    dans ton code, c'est un nom de variable comme cà, au pif ...
     
  19. akara
    akara WRInaute discret
    Inscrit:
    14 Juin 2007
    Messages:
    56
    J'aime reçus:
    0
    lOol nan nan t'inquiète pas,
    je vais revoir la réécriture !

    quand j'arrive sur index sur le navigateur j'ai index.php mais quand je change l'extension en .html cela fonctionne mais que dois-je faire pour que j'ai directement index.html ? sur .htaccess la réécriture est deja faite

    Merci beaucoup
     
  20. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 661
    J'aime reçus:
    4
    Fais une redirection de index.php vers la racine du site (www.example.com) comme ça t'auras déjà pas de doublon entre la racine, l'url /index.html et /index.php

    Modifie tous les liens qui pointent vers www.example.com/index.php en les faisant pointer vers www.example.com/

    Bon courage
     
  21. akara
    akara WRInaute discret
    Inscrit:
    14 Juin 2007
    Messages:
    56
    J'aime reçus:
    0
    j'avais oublié que c'était sensible à la casse !
    donc j'ai mis des (.*) partout lol, est-ce la bonne solution ?
    ou je laisse (-[a-z]*) et que pour les variables je les mets en minuscule avant de l'envoyer ?
    ouf das ist gut ! c'est génial ! lol en tout cas je te remercie bcp bcp
     
  22. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 661
    J'aime reçus:
    4
    des (.*) signifient 'toute occurence de n'importe quel type (caractere aplpha, numerique, ...)
    A toi de voir comment tu veux gérer tes URL, avec des maj ou pas. Moi perso je passe tout en minuscules comme ça je suis tranquille.

    De rien :) Si tu veux me remercier, et que t'as un site de foot, mets donc un lien vers le mien en "font-size=72" en plein milieu de ta page d'accueil ;)

    non je plaisante bien sur
     
  23. akara
    akara WRInaute discret
    Inscrit:
    14 Juin 2007
    Messages:
    56
    J'aime reçus:
    0
    lOol t'as de la chance que j'aime le foot allez le Racing Club de Strasbourg !!
    quand j'aurais mon site perso je penserai à toi, un pti lien en 8px en blanc sur un fond blanc mdrr
    (jplaisante).
     
  24. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 661
    J'aime reçus:
    4
    Justement, je manque de membres sur mon forum RC Strasbourg ;)
     
  25. akara
    akara WRInaute discret
    Inscrit:
    14 Juin 2007
    Messages:
    56
    J'aime reçus:
    0
    une ptite dernière question (j'espère) lOol, comment gère tu les accents sur l'url ?
    est ce qu'on peut garder les accents dans l'url ?

    Code:
    $resultat=strtr($chaine,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ","AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUUuuuuyNn");
    est ce que cela est pratique ou il y a une meilleure solution ?
     
  26. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 661
    J'aime reçus:
    4
    Oui, comme ça. je connais pas de meilleure solution.
     
  27. akara
    akara WRInaute discret
    Inscrit:
    14 Juin 2007
    Messages:
    56
    J'aime reçus:
    0
    REmerci !
    j'avais un autre problème, c'était lors de l'envoi des variables en $_Get, je n'arrivais pas à récupérer les valeurs mais j'ai vu sur un forum qu'il fallait procéder comme ceci :
    Code:
    RewriteRule ^fiche_commune-num_dep-(.*)-nom_dep-(.*)\.html$ fiche_commune.php?num_dep=$1&nom_dep=$2 [L]
    donc sur la page :
    Code:
    echo "<td><a href=\"fiche_commune-num_dep-".$num_dep."-nom_dep-".$nomdep.".html\">(".$dep['numdep'].") ".$nom_dep."</a></td>";
    sinon voila !
     
  28. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 661
    J'aime reçus:
    4
    Et oui, voilà.
     
  29. e-kiwi
    e-kiwi WRInaute accro
    Inscrit:
    23 Décembre 2003
    Messages:
    13 257
    J'aime reçus:
    1
    non mais c'est vrai que sur les tuto pour le rewriting, ils auraient dû rajouter la mention "le rewriting n'est pas affilié à la magie et ne modifie pas des liens écrits dans un code source" ;)
     
  30. akara
    akara WRInaute discret
    Inscrit:
    14 Juin 2007
    Messages:
    56
    J'aime reçus:
    0
    lol biensur et abracadabra pour $_GET

    et le tuto serait nickel
     
  31. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 661
    J'aime reçus:
    4
    Dans le .htaccess:
    Code:
    RewriteEngine on
    RewriteSourceCodelinks:on
    FixBugsAutomatically:on
    
     
  32. akara
    akara WRInaute discret
    Inscrit:
    14 Juin 2007
    Messages:
    56
    J'aime reçus:
    0
    que signifie ces lignes ?
     
  33. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 661
    J'aime reçus:
    4
  34. akara
    akara WRInaute discret
    Inscrit:
    14 Juin 2007
    Messages:
    56
    J'aime reçus:
    0
    c'est une fourberie tes lignes !!! :)
    j'ai rien trouvé sur ces lignes !! :evil:
     
  35. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 661
    J'aime reçus:
    4
    Allez, du calme, une petite blague en passant pour détendre l'atmosphère :)
     
  36. akara
    akara WRInaute discret
    Inscrit:
    14 Juin 2007
    Messages:
    56
    J'aime reçus:
    0
    elle est ou la blague ? lOoL que neni
    une fourberie de scapin oué !!
     
  37. nickargall
    nickargall WRInaute accro
    Inscrit:
    13 Juin 2005
    Messages:
    6 661
    J'aime reçus:
    4
    Bon allez finies les blagues et bon courage pour ton site.
     
  38. akara
    akara WRInaute discret
    Inscrit:
    14 Juin 2007
    Messages:
    56
    J'aime reçus:
    0
    oui oui & merci beaucoup pour ton aide !
     
Chargement...
Similar Threads - réécrite récupération paramètres Forum Date
noindex ou redirection pour l'URL non réécrite ? Demandes d'avis et de conseils sur vos sites 18 Janvier 2019
Url dynamique vers url réécrites Référencement Google 13 Juillet 2018
RewriteRule : afficher un $_GET dans une URL réecrite Développement d'un site Web ou d'une appli mobile 12 Novembre 2016
DC - besoin d'aide avec des URLs mal réécrites Netlinking, backlinks, liens et redirections 21 Juin 2013
Form GET, select, URL réécrite et redirections VS Googlebot ? Netlinking, backlinks, liens et redirections 28 Janvier 2013
DirectoryIndex vers une url réécrite... possible ? URL Rewriting et .htaccess 29 Novembre 2012
Redirection 301 d'une adresse dynamique deja réécrite URL Rewriting et .htaccess 29 Août 2012
Redirection 301 et saut vers la nouvelle url réécrite Netlinking, backlinks, liens et redirections 12 Juillet 2012
Faut il rediriger les urls réécrites ? Débuter en référencement 17 Mars 2012
URL rewriting et redirect permanant des URL réécrites URL Rewriting et .htaccess 12 Juillet 2011
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice