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 :

[Htaccess] URL rewriting


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    641
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 641
    Par défaut [Htaccess] URL rewriting (non résolu !!)
    Bonjour,

    Je voudrais mettre en place un règle de réécriture d'URL simple. A la place de :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    monsite.com?module=xxx&action=yyy&id=zzz
    je voudrais afficher :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    monsite.com/xxx/yyy/zzz
    ou éventuellement
    monsite.com/xxx/yyy/zzz.html
    zzz est toujours un nombre.

    La .htaccess suivant ne fonctionne pas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <IfModule mode_rewrite.c>
    RewriteEngine on
    RewriteRule ^([a-z]+)/([a-z]+)/([0-9]+)$ index.php?module=$1&action=$2&id=$3
    </IfModule>

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    641
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 641
    Par défaut
    A présent ça me donne une redirection vers la première URL. Comment faire en sorte que seule l'URL réécrite soit visible par l'internaute ?

  3. #3
    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
    "A présent" signifie quelle règle de réécriture ? Comme ça, là, je n'arrive pas à la deviner.

    La règle RewriteRule ^([a-z]+)/([a-z]+)/([0-9]+)$ index.php?module=$1&action=$2&id=$3 me semble correcte mais ne fonctionne pas avec les URL se terminant par .html. C'est uniquement des URL du type /aaa/bbb/123. Sinon, peut-être mettre un / devant index.php?... :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^([a-z]+)/([a-z]+)/([0-9]+)$ /index.php?module=$1&action=$2&id=$3
    A essayer, j'ai pas testé.

  4. #4
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    641
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 641
    Par défaut
    Mon .htaccess est le suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <IfModule mod_rewrite.c>
    	RewriteEngine On
    	RewriteRule ^([^-]+)/([^-]+)/([^-]+)/([0-9]+)$ /index.php?module=$1&controller=$2&action=$3&id=$4 [L,NC,NS]
    	RewriteRule ^([^-]+)/([^-]+)/([^-]+)$ /index.php?module=$1&controller=$2&action=$3 [L,NC,NS]
    	RewriteRule ^([^-]+)/([^-]+)$ /index.php?module=$1&action=$2 [L,NC,NS]
    	RewriteRule ^([^-]+)\.html$ /index.php?module=$1 [L,NC,NS]
    </IfModule>
    J'ai ajouté un étage entre temps mais le principe reste le même. Et j'obtiens une redirection au lieu d'une vraie réécriture d'URL.

  5. #5
    Membre émérite
    Avatar de Linaa
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    987
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 987
    Par défaut
    Qu'entends-tu par "une vraie réecriture d'URL" ?

    Lorsque tu tapes monsite.com/xxx/yyy/zzz
    Cela redirige vers monsite.com?module=xxx&action=yyy&id=zzz

    L'adresse tapée est celle qui est visible dans la barre de navigation.
    Tu dois changer tous les liens précédemment monsite.com?module=xxx&action=yyy&id=zzz par monsite.com/xxx/yyy/zzz

    L'utilisateur ne verra jamais l'adresse monsite.com?module=xxx&action=yyy&id=zzz à moins qu'il ne connaisse le nom de tes pages, de tes paramètres, etc.

  6. #6
    Membre éclairé

    Profil pro
    Inscrit en
    Mai 2002
    Messages
    641
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 641
    Par défaut
    Citation Envoyé par Linaa Voir le message
    L'adresse tapée est celle qui est visible dans la barre de navigation.
    Tu dois changer tous les liens précédemment monsite.com?module=xxx&action=yyy&id=zzz par monsite.com/xxx/yyy/zzz

    L'utilisateur ne verra jamais l'adresse monsite.com?module=xxx&action=yyy&id=zzz à moins qu'il ne connaisse le nom de tes pages, de tes paramètres, etc.
    C'est justement ça qui ne fonctionne pas. Quand je tape monsite.com/xxx/yyy/zzz c'est monsite.com?module=xxx&action=yyy&id=zzz qui s'affiche.

Discussions similaires

  1. Réponses: 7
    Dernier message: 24/03/2009, 16h33
  2. HTaccess URL Rewriting
    Par yonialhadeff dans le forum Apache
    Réponses: 1
    Dernier message: 01/09/2008, 13h51
  3. Si vous avez des questions sur Apache, HTAccess, URL rewriting avec Apache, etc
    Par Marc Lussac dans le forum Général Conception Web
    Réponses: 1
    Dernier message: 28/08/2007, 19h09
  4. [HTAccess] URL rewriting
    Par actarus44 dans le forum Apache
    Réponses: 4
    Dernier message: 13/07/2005, 11h41
  5. .htaccess - url rewriting, besoin de conseils
    Par giminik dans le forum Apache
    Réponses: 2
    Dernier message: 25/04/2005, 20h18

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