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 de plusieurs pages


Sujet :

Apache

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 151
    Points : 69
    Points
    69
    Par défaut URL rewriting de plusieurs pages
    Bonjour,

    Je souhaite réécrire mes URL ( Jusque là tout va bien ). Voici un exemple :

    URL par défaut : index.php?p=formations&sp=inter
    URL finale : Formations-continues-inter
    Ligne de code dans le htaccess:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RewriteRule   ^Formations-continues-inter$   index.php?p=formations&sp=inter	[L]
    Le problème est le suivant :

    Sur la page "Formations-continues-inter" il y a plusieurs thèmes de formation, disons "sécurité", "management", "administratif", "Newbi en apache"... . J'aimerai pouvoir renvoyer sur une URL du type "Formations-continues-inter&theme=mon_theme" pour chaque thème.
    Car en fait les thèmes changent régulièrement, il est donc impossible de les écrire en dur ( si c'est possible mais j'ai pas envie :p ), ni de créer des dossiers pour avoir des URL comme "Formations-continues-inter/mon_theme" ( ce serait l'idéal sniff ).

    Je souhaite avoir une URL claire pour chaque thème et ce ensuite pour toutes les formations des thèmes ^^.

    Merci de votre aide

  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 vocal94130 Voir le message
    ni de créer des dossiers pour avoir des URL comme "Formations-continues-inter/mon_theme"
    Dans la mesure où "Formations-continues-inter" n'est pas un dossier, ce n'est pas un problème ^_^ Et c'est pourtant ce qu'il y a de plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteRule   ^Formations-continues-inter$   index.php?p=formations&sp=inter    [L]
    RewriteRule   ^Formations-continues-inter/([^/]+)$   index.php?p=formations&sp=inter&theme=$1    [L]
    & n'est pas un bon séparateur car il a une signification pour les paramètres d'URL et pourrait donc être mal interprété par le navigateur et/ou le serveur. Il vaut mieux donc utiliser un séparateur plus "standard" comme le /. Le fait que cela ne corresponde à aucun répertoire n'est vraiment pas un problème, c'est à ça que sert la réécriture d'URL.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    151
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 151
    Points : 69
    Points
    69
    Par défaut
    Merci de ton aide, c'est vraiment pas compliqué finalement ^^.
    Le seul petit problème c'est que quand je suis sur "Formations-continues-inter/mon_theme" le CSS n'est pas pris en compte car le navigateur prend le "/" comme un dossier je pense, par contre si je met "Formations-continues-inter&mon_theme", là aucun problème.

  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
    Si ça marche avec &, tant mieux, mais ce n'est pas terrible, je trouve. Et je pense que / peut facilement s'interpréter comme étant le séparateur rubrique/sous-rubrique.

    Pour le CSS, le / pose effectivement problème. La correction consiste à modifier le code HTML renvoyé au navigateur pour mettre un / devant chaque URL d'image, CSS, etc. : src="/... ou href="/... pour avoir une URL relative à la racine du site.

Discussions similaires

  1. URL Rewriting pour les pages génériques html
    Par scruteweb dans le forum Apache
    Réponses: 5
    Dernier message: 09/09/2009, 20h30
  2. URL rewriting et plusieurs variables
    Par domega dans le forum Apache
    Réponses: 6
    Dernier message: 21/06/2009, 12h42
  3. Réponses: 3
    Dernier message: 08/03/2009, 10h58
  4. Réponses: 4
    Dernier message: 08/07/2008, 10h43
  5. Réponses: 5
    Dernier message: 28/04/2008, 20h03

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