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 :

URL rewriting d'une pagination


Sujet :

Apache

  1. #1
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 51
    Points
    51
    Par défaut URL rewriting d'une pagination
    Bonjour,

    Je cherche en vint à rewriter la pagination d'une catégorie mais sans succès!

    L'url rewriting utilisé sur mes catégories est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule  ^categorie-([0-9]*)-(.*)\.php$  /dynamique/categorie.php?id=$1&categorie=$2 [QSA]
    Celle-ci me permet d'obtenir des liens sous la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    categorie-1-titre-de-la-categorie.php
    A ceci, j'ai ajouté une fonction pagination trouvé sur ce site qui fonctionne très bien et qui me génère donc une pagination sous la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    categorie-1-titre-de-la-categorie.php?page=1
    Je souhaiterais rewriter la pagination de façon à obtenir des liens sous la forme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    categorie-1-titre-de-la-categorie/page1
    J'ai donc modifier ma règle en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule  ^categorie-([0-9]*)-(.*)/?$  /dynamique/categorie.php?id=$1&categorie=$2 [QSA]
    Ce qui me donne des url du type (avec pagination):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    categorie-1-titre-de-la-categorie?page=1
    Après, je sèche tant au niveau de la fonction que du rewriting .

    Hormis une corde, auriez-vous une solution svp?

    Merci

  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
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par tryan Voir le message
    J'ai donc modifier ma règle en :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule  ^categorie-([0-9]*)-(.*)/?$  /dynamique/categorie.php?id=$1&categorie=$2 [QSA]
    Ce qui me donne des url du type (avec pagination):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    categorie-1-titre-de-la-categorie?page=1
    Après, je sèche tant au niveau de la fonction que du rewriting .
    Ben c'est pas bien compliqué, il suffit d'ajouter une règle pour quand /pagen apparaît dans l'URL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule  ^categorie-([0-9]*)-(.*)/page([0-9]+)$  /dynamique/categorie.php?id=$1&categorie=$2&page=$3 [QSA]
    A AJOUTER AVANT LA REGLE QUE TU AS DEJA !! Car la règle que tu as déjà matche aussi les URL avec /pagen. Si tu veux éviter ce genre de chose, il faut remplacer le (.*) de ta règle par un truc plus spécifique : ([^/]*) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteRule  ^categorie-([0-9]*)-([^/]*)/page([0-9]+)$  /dynamique/categorie.php?id=$1&categorie=$2&page=$3 [QSA]
     
    RewriteRule  ^categorie-([0-9]*)-([^/]*)/?$  /dynamique/categorie.php?id=$1&categorie=$2 [QSA]
    Tu peux peut-être tout mettre dans une seule règle mais je ne sais pas comment Apache se comporte avec les sous-blocs.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 51
    Points
    51
    Par défaut
    Merci pour votre réponse qui semble fonctionner.
    _Mac_

    Cependant ..., j'utilise dans mes catégories des liens relatifs et du coup chacun d'entre eux se transforment en prenant en début l'url de la catégorie.
    "style.css" se transforme en "/categorie-1-titre-de-la-categorie/style.css", etc.. donc ça foire le design et tout le reste.
    Est-ce normal? Suis-je obligé d'ajouter "../" devant chaque lien ou y a t'il une autre solution?

    Merci

  4. #4
    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
    Points : 12 977
    Points
    12 977
    Par défaut
    Citation Envoyé par tryan Voir le message
    Est-ce normal?
    Oui, parfaitement normal.

    Citation Envoyé par tryan Voir le message
    Suis-je obligé d'ajouter "../" devant chaque lien ou y a t'il une autre solution?
    Tu peux également mettre /chemin/xxx.css ou bien ajouter une balise <base> dans la section <head> de tes pages HTML.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  5. #5
    Membre du Club
    Inscrit en
    Septembre 2010
    Messages
    128
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 128
    Points : 51
    Points
    51
    Par défaut
    Merci hoo grand _Mac_

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5.0] url rewrite ajouter une règle
    Par _bender_ dans le forum Langage
    Réponses: 2
    Dernier message: 19/01/2009, 17h11
  2. Réponses: 2
    Dernier message: 05/11/2008, 10h38
  3. URL Rewriting pour la pagination
    Par pinouf dans le forum Zend Framework
    Réponses: 8
    Dernier message: 22/10/2008, 16h10
  4. [URL Rewriting] Introduire une exception à une règle
    Par alemat13 dans le forum Apache
    Réponses: 3
    Dernier message: 10/03/2008, 16h29
  5. URL rewriting pour une meilleure visibilité
    Par Yoteco dans le forum MVC
    Réponses: 13
    Dernier message: 30/08/2007, 20h50

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