IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Apache Discussion :

Rewriting d'url récursive


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 5
    Par défaut Rewriting d'url récursive
    Bonjour, je tourne en rond comme bcp sur le rewriting récursif d'url.

    Voilà, je cherche à transformer mon url composé d'un nombre de paramètres variables comme ceci :

    monsite.com/categorie/index.php?varA=bla+bla1&varB=2&varC=3....etc

    en

    monsite.com/varA-1-varB-2-varC-3.html

    La varA est toujours de type bla+bla (2 mots et un + au milieu).
    Je souhaiterai que bla+bla devienne bla-bla et à partir de de varB les paramètres peuvent être des chiffres ou du texte (pas les 2 en même temps).

    je verrai qq chose comme ça dans le htaccess (je ne sais pas ou mettre le .html) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteRule ^/categorie/([^/]+)-([^/]+)$ /?$1=$2 [QSA,L]
    RewriteRule ^/(.+)/([^/]+)-([^/]+)/?$ /index.php?$1?$2=$3 [QSA,L]
    mais cela ne marche pas (en plus je suis loin de maitriser le sujet)

    Si un connaisseur du sujet passe par là ? merci d'avance

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Par défaut
    Le .html se met tout simplement à la fin

    L'URL que tu souhaites est problématique car il n'y a pas de séparateur qui permette de distinguer à coup sûr les blocs "varX-valeur". On peut quand même tenter un truc en "lisant" les blocs de la droite vers la gauche en supposant que les blocs sont toujours "varX-valeur" avec valeur qui ne peut pas contenir le caractère "-" sauf pour la dernière valeur qui contient nécessairement un - (donc au final, on a toujours en début d'URL un truc du style xxx-yyy-zzz). Ce dernier pattern constituera le cas de base de la récurrence :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteRule ^categorie/([^-]+)-([^-]+-[^-]+)\.html$ index.php?$1=$2 [QSA,L]
    RewriteRule ^categorie/(.*)-([^-]+)-([^-]+)\.html$ categorie/$1.html?$2=$3 [QSA,L]
    Avec ça, tu remarqueras qu'une URL /categorie/abc-def partira en 404 Not Found car on voit toujours figurer au moins 2 - dans les RewriteRule.

    Au passage dans un .htaccess, il faut retirer le tout premier / des URL (^categorie et pas ^/categorie).

    Si mes hypothèses ne sont pas bonnes, j'ai peur que tu sois obligé de changer ton URL pour introduire un séparateur explicite des blocs "varX-valeur" pour autoriser (toujours) le - dans la valeur.

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/03/2009, 17h12
  2. url rewriting et URL affichée
    Par Dougui_bzh dans le forum Apache
    Réponses: 8
    Dernier message: 01/10/2008, 15h31
  3. [URL Rewriting] Problème URL Rewriting -> CSS
    Par Cartman.inc dans le forum Apache
    Réponses: 8
    Dernier message: 23/04/2007, 14h29
  4. rewritting d'url et bandeau en javascript
    Par _solo dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/11/2006, 13h45
  5. Réponses: 1
    Dernier message: 02/02/2006, 10h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo