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 qui marche trop bien


Sujet :

Apache

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 76
    Par défaut URL rewriting qui marche trop bien
    Bonjour,

    Pour ma page acces.php, j'aimerais transformer mes get en "dossier" et supprimer acces.php de l'url.
    Exemple:
    Transformer: acces.php?cat=images&titre=faire-ce-truc-avec-des-images
    En: images/faire-ce-truc-avec-des-images

    Voici le code essayé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ([a-z]+)/([a-z0-9-]+) acces.php?cat=$1&titre=$2
    Le soucis: Toutes les pages contenues dans tous les dossiers après ce htaccess prend l'interface de acces.php, donc à la place de m'afficher la page normalement, ça m'affiche le contenu de acces.php quelque soit la page.

    Je ne vois pas le probleme. Merci pour 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
    Par défaut
    C'est juste que ton filtre (premier paramètre de RewriteRule) est trop générique. Il faut juste mettre un filtre plus précis. Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^acces/([a-z]+)/([a-z0-9-]+) acces.php?cat=$1&titre=$2
    et tu utilises des URL comme celle-ci : http://xxx.com/acces/images/faire-ce...vec-des-images

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 76
    Par défaut
    Merci pour ta réponse

    Le probleme est que je voudrais une url de ce type: http://xxx.com/images/faire-ce-truc-avec-des-images
    Est-ce possible?

    J'ai essayé:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    /([a-z]+)/([a-z0-9-]+) acces.php?cat=$1&titre=$2
    et:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ^/([a-z]+)/([a-z0-9-]+) acces.php?cat=$1&titre=$2
    sans succès

  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
    Par défaut
    On me peut pas mettre de ^/ au début dans un .htaccess ; s'il n'y en avait pas dans mon exemple, c'était volontaire. Une règle comme celle-ci dans un .htaccess ne marchera jamais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^/([a-z]+)/([a-z0-9-]+) acces.php?cat=$1&titre=$2
    Et une règle comme celle-ci ne matchera que les URL du type http://xxx.com/nimportequoi/abcd/tagada123 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule /([a-z]+)/([a-z0-9-]+) acces.php?cat=$1&titre=$2
    On en revient toujours à la même chose : avoir un filtre pertinent, précis, pas trop "large". Donc c'est comme tu veux :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^images/([a-z0-9-]+) acces.php?cat=images&titre=$2
    ou encore un truc comme l'exemple que j'ai donné, mais pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^([a-z]+)/([a-z0-9-]+) acces.php?cat=images&titre=$2
    qui est beaucoup trop large, comme tu le constates.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2011
    Messages
    76
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2011
    Messages : 76
    Par défaut
    Je vois bien le probleme mais la catégorie et le titre changent à chaque page. Donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^images/([a-z0-9-]+) acces.php?cat=images&titre=$2
    n'est malheureusement pas utilisable.
    Exemple: l'url peut devenir "nomdusite.com/php/faire-ca-en-php" ou "nomdusite.com/images/faire-ce-truc-avec-des-images".

    J'espère que j'explique bien

    Merci pour tes réponses

  6. #6
    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
    Je comprends bien mais les possibilités sont limitées.

    Est-ce que cette règle marche mieux ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^([a-z]+)/([a-z0-9-]+) acces.php?cat=images&titre=$2
    Si ça ne change rien, peux-tu nous dire dans quels cas tu veux et ne veux pas rediriger vers acces.php ? Comment sais-tu, toi, que telle URL doit aller vers acces.php et pas telle autre ?

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

Discussions similaires

  1. URL Rewriting qui marche a moitié
    Par Nhymphea dans le forum Langages serveur
    Réponses: 1
    Dernier message: 07/11/2011, 15h49
  2. Authentification via Tomcat qui marche trop bien !?
    Par ghohm dans le forum Tomcat et TomEE
    Réponses: 9
    Dernier message: 04/05/2009, 11h30
  3. URL rewriting qui ne marche pas
    Par TallyHo dans le forum Apache
    Réponses: 2
    Dernier message: 06/04/2009, 12h50
  4. Encore un URL Rewriting qui ne marche pas
    Par fabrisss dans le forum Apache
    Réponses: 3
    Dernier message: 10/07/2007, 16h12
  5. Réponses: 5
    Dernier message: 02/10/2006, 19h24

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