1. Pour Black Friday on FRACASSE les prix ⚡ avec RM Tech Découverte
    Rejeter la notice

Syntaxe RewriteRule .htaccess

Discussion dans 'URL Rewriting et .htaccess' créé par Romdev, 25 Septembre 2012.

Tags:
  1. Romdev
    Romdev WRInaute occasionnel
    Inscrit:
    26 Novembre 2008
    Messages:
    365
    J'aime reçus:
    0
    Bonjour à tous,

    je dois avoir un problème de syntaxe dans la ligne suivante :

    RewriteRule ^occasion-([0-9]+)_([0-9]+)\.html$ listing_vehicules.php?etat=0&marque=$1&concession=$2 [L]

    Car cela ne marche pas...

    Ce que je cherche à faire, c'est réécrire les url du type :
    listing_vehicules.php?etat=0&marque=18&concession=9
    En : occasion-18_9.html
    (J'ai pris marque=18 et concession=9 à titre d'exemple, ces id peuvent varier)

    Quelqu'un aurait-il une piste svp ?
    Merci beaucoup par avance.

    Romain.
     
  2. anemone-clown
    anemone-clown WRInaute passionné
    Inscrit:
    11 Novembre 2007
    Messages:
    1 601
    J'aime reçus:
    21
    Idée bête, mais sait-on jamais : tu as bien mis "RewriteEngine on" avant?
     
  3. Romdev
    Romdev WRInaute occasionnel
    Inscrit:
    26 Novembre 2008
    Messages:
    365
    J'aime reçus:
    0
    Oui bien-sur :)
     
  4. alaincassis
    alaincassis WRInaute impliqué
    Inscrit:
    6 Août 2006
    Messages:
    512
    J'aime reçus:
    0
    Ca doit donc faire une erreur 404.
    Et quelle URL qui n'est pas trouvé ? l'URL recherché est-il bien ecrit ?
    Ton script génère-il bien les nouveaux URL ?
     
  5. Romdev
    Romdev WRInaute occasionnel
    Inscrit:
    26 Novembre 2008
    Messages:
    365
    J'aime reçus:
    0
    L'URL www.monsite.com/listing_vehicules.php?etat=0&marque=18&concession=9 existe et fonctionne oui.

    Je cherche à la remplacer par www.monsite.com/occasion-18_9.html

    Une fois la règle de réécriture rentrée dans mon fichier .htaccess, lorsque je me rend sur www.monsite.com/listing_vehicules.php?etat=0&marque=18&concession=9 l'url ne change pas, elle reste en l'état.
     
  6. alaincassis
    alaincassis WRInaute impliqué
    Inscrit:
    6 Août 2006
    Messages:
    512
    J'aime reçus:
    0
    Il serait totalement inactif donc ? C'est le plus bizarre..
    Etonnant qu'il n'amène pas ni à une erreur 404 ni à une erreur 500
    Il est bien placé ton .htaccess ? Il y a un seul htaccess ??

    C'est donc le 1er terme qui serait inactif : RewriteRule ^occasion-([0-9]+)_([0-9]+)\.html$
    Et en le remplaçant par : RewriteRule ^occasion-([0-9]*)_([0-9]*)\.html
     
  7. Romdev
    Romdev WRInaute occasionnel
    Inscrit:
    26 Novembre 2008
    Messages:
    365
    J'aime reçus:
    0
    Il est bien placé oui, à la racine du serveur et tout seul, les autres règles de réécritures présentes dedans fonctionnent bien.

    Ex : RewriteRule ^voiture-occasion,([0-9]+)\.html$ listing_vehicules.php?etat=0&page=$1 [L]

    Cette règle fonctionne très bien.

    Concernant mon problème, j'ai l'impression que ma règle de réécriture n'a absolument aucun effet.
    J'enregistre et j'upload le .htaccess une fois la règle écrite, et quand je me rend sur le site il n'y a aucun changement, comme tu dis il n'y a même pas de 404 sur les url censées être réécrites. Je vais creuser ça aujourd'hui.

    Merci pour ton aide en tout cas :)
     
  8. alaincassis
    alaincassis WRInaute impliqué
    Inscrit:
    6 Août 2006
    Messages:
    512
    J'aime reçus:
    0
    Ca vient peut-être de là ?:

    RewriteRule ^voiture-occasion ..... [L] sur une ligne
    RewriteRule ^occasion .... [L] sur une autre ligne


    Sinon, tant qu'on a pas vu le htaccess en entier....
     
  9. Romdev
    Romdev WRInaute occasionnel
    Inscrit:
    26 Novembre 2008
    Messages:
    365
    J'aime reçus:
    0
    Je viens de faire un test, j'ai donc dans mon htaccess la ligne suivante :
    RewriteRule ^occasion-([0-9]*)_([0-9]*)\.html$ listing_vehicules.php?etat=0&marque=$1&concession=$2 [L]

    Lorsque je me rend sur l'url :
    http://www.jmj-citroen.com/listing_vehicules.php?etat=0&marque=2&concession=4
    Celle-ci devrait devenir :
    http://www.jmj-citroen.com/occasion-2_4.html.

    Pourtant si vous faites le test, vous verrez que l'url reste http://www.jmj-citroen.com/listing_vehicules.php?etat=0&marque=2&concession=4
     
  10. Romdev
    Romdev WRInaute occasionnel
    Inscrit:
    26 Novembre 2008
    Messages:
    365
    J'aime reçus:
    0
    Voici des exemple de règles qui marchent, présentes dans le fichier (je peux pas tout copier/coller il y'en a trop) :

    RewriteRule ^voiture-occasion-([a-zA-Z0-9\-]+),([0-9]+)\.html$ detail_vehicule.php?id_vehicule=$2 [L]
    RewriteRule ^vehicules-utilitaires-([a-zA-Z0-9\-]+)_([0-9]+)\.html$ listing_vehicules.php?vu=1&concession=$2 [L]
    RewriteRule ^promotions-([a-zA-Z0-9\-]+),([0-9]+)\.html$ promotions.php?concession=$2 [L]
     
  11. spout
    spout WRInaute accro
    Inscrit:
    14 Mai 2003
    Messages:
    9 098
    J'aime reçus:
    301
  12. Romdev
    Romdev WRInaute occasionnel
    Inscrit:
    26 Novembre 2008
    Messages:
    365
    J'aime reçus:
    0
    Merci pour l'info spout, mais dans le cadre de ce site là nous allons continuer avec les règles déjà présentes.

    Par contre je garde ton conseil sous le coude pour un futur site :)
     
  13. arnaudmn
    arnaudmn WRInaute passionné
    Inscrit:
    11 Mai 2005
    Messages:
    1 049
    J'aime reçus:
    2
    Non, c'est le contraire que tu as écris. Tu demande a transformer "occasion-*" en "listing_vehicules.php?.."
    C'est plutôt dans l'autre sens qu'il faudrait écrire la règle :)
     
  14. alaincassis
    alaincassis WRInaute impliqué
    Inscrit:
    6 Août 2006
    Messages:
    512
    J'aime reçus:
    0
    C'est normal , tu a inversé comme a écrit Arnaud. Et de toute façon, la réécriture ne se passe pas au niveau de l'URL visible dans la barre. La page sera trouvée ou pas.

    Le résultat que tu veux obtenir patr le htaccess c'est listing_vehicules.php?etat=0&marque=2&concession=4 car il amène à la bonne page .

    Il faut que ce soit ton script qui génére les URL "new look" comme http://www.jmj-citroen.com/occasion-18_9.html

    et un htaccess les réécrira en listing_vehicules.php?etat=0&marque=18&concession=9
     
  15. Romdev
    Romdev WRInaute occasionnel
    Inscrit:
    26 Novembre 2008
    Messages:
    365
    J'aime reçus:
    0
    Houla ça m'embrouille...

    Je veux juste que lorsque quelqu'un tente d'accéder à
    Code:
    http://www.jmj-citroen.com/listing_vehicules.php?etat=0&marque=2&concession=4
    L'url qui s'affiche dans le navigateur se transforme en :
    Code:
    http://www.jmj-citroen.com/occasion-2_4.html
     
  16. Romdev
    Romdev WRInaute occasionnel
    Inscrit:
    26 Novembre 2008
    Messages:
    365
    J'aime reçus:
    0
  17. alaincassis
    alaincassis WRInaute impliqué
    Inscrit:
    6 Août 2006
    Messages:
    512
    J'aime reçus:
    0
    C'est plus clair !
    Donc déja pour tester faut mettre http://www.jmj-citroen.com/occasion-2_4.html dans la barre d'URL

    Et là, effectivement il y a une erreur 404.

    Pour les test faut neutraliser dans le htaccess la redirection 404, comme cela tu verras l'URL recherchée

    Mais est-tu sur que le script (rien à voir avec l'htaccess) génére bien les URL comme ceci : mj-citroen.com/occasion-2_4.html ??
     
  18. Romdev
    Romdev WRInaute occasionnel
    Inscrit:
    26 Novembre 2008
    Messages:
    365
    J'aime reçus:
    0
    Si je comprend bien la question, la réponse est non. A l'heure actuelle le script génère les url pleines de paramètres, que je souhaiterais justement remplacer par des URL propres pour mieux les référencer.
     
  19. alaincassis
    alaincassis WRInaute impliqué
    Inscrit:
    6 Août 2006
    Messages:
    512
    J'aime reçus:
    0
    Ok, donc avant de modifier le script faut faire des tests avec le htaccess, mais en désactivant la redirection erreur 404, pour connaitre l'URL demandée effectivement réécrite par le htaccess, et donc l'origine de l'erreur.

    Et une fois que le rewriting htaccess fonctionnera bien avec les tests, tu pourras modifier le script afin qu'il génére les URL "propres".
     
  20. Romdev
    Romdev WRInaute occasionnel
    Inscrit:
    26 Novembre 2008
    Messages:
    365
    J'aime reçus:
    0
    Entendu, je vais donc me pencher la dessus dans les prochains jours.

    Juste pour parfaire ma compréhension de l'url rewriting, peut-on dire que c'est presque équivalent à une redirection ?
    On redirige un type d'URL "sale" vers un type d'URL "propre" ?

    RewriteRule urlpropre urlsale

    Un peu comme :

    RedirectPermanent badurl goodurl
     
  21. alaincassis
    alaincassis WRInaute impliqué
    Inscrit:
    6 Août 2006
    Messages:
    512
    J'aime reçus:
    0
    C'est urlpropre-->urlsale et pas l'inverse !

    C'est plus une traduction q'une redirection.
    Je me répète:
    1/ les URL propres doivent être génerées par le script ( faut faire les bonnes modifs au bon endroit ! ) .

    2/ L'htaccess servira à traduire ces URL propres mais incompréhensible, en des URL "Sales " disons plutôt classiques, et compatibles PHP.

    Un URL "propre n'a pas besoin de se terminer par .html
    C'est une question de goût, mai moi je mettrai www.monsite.com/18-9-occasion tout simplement.

    Et pour les tests, faut qu'en mettant à la main l'URL propre choisie, il faut que ce soit la bonne page qui apparaisse.
    Rien ne se passera dans la barre d'URL.Elle affichera toujours l'URL propre.

    Ensuite, si tout est ok, tu pourras faire les modifs de génération des URL dans le script.







    2
     
  22. Romdev
    Romdev WRInaute occasionnel
    Inscrit:
    26 Novembre 2008
    Messages:
    365
    J'aime reçus:
    0
    Okey !

    Merci beaucoup en tout cas :)

    A bientôt !
     
Chargement...
Similar Threads - Syntaxe RewriteRule htaccess Forum Date
Syntaxe RewriteRule .htaccess Débuter en référencement 24 Septembre 2012
Quelle syntaxe pour les mots-clés ? Débuter en référencement 6 Juillet 2020
Search Console Site FR en attente de Multilangue + syntaxe Robot.txt Référencement international (langues, pays) 5 Novembre 2019
syntaxe, pattern redirect Crawl et indexation Google, sitemaps 1 Octobre 2019
syntaxe commande dans htaccess Crawl et indexation Google, sitemaps 8 Juillet 2019
Syntaxe des mots clefs pour le référencement Rédaction web et référencement 20 Juin 2019
Syntaxe .htaccess pour migrer des URL URL Rewriting et .htaccess 7 Janvier 2018
La syntaxe SQL permet-elle plusieurs mots-clefs dans une (sous-)requête identique ? Développement d'un site Web ou d'une appli mobile 17 Août 2017
Robots.txt et syntaxe de Disallow Crawl et indexation Google, sitemaps 2 Juin 2017
Je ne comprends pas cette syntaxe Développement d'un site Web ou d'une appli mobile 10 Avril 2017