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] Une variable avec un espace


Sujet :

Apache

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 17
    Points : 14
    Points
    14
    Par défaut [URL Rewriting] Une variable avec un espace
    Bonjour
    Je ne sais pas si ce que je veux faire est possible...

    J'ai une URL reel qui est du style index.php?categorie=texte

    mon url rewriting est de cette sorte
    RewriteRule ^categorie-([A-Za-z]+[0-9]?)\.html$ index.php?categorie=$1 [L]
    exemple : /categorie-Politique.html
    le soucis est que ma valeur $1 est des fois coupé d'un ou plusieur espace (%20)

    Quelle solution me proposez vous car la ... je crois que j'ai fais tout ce que j'ai pu!


    Bonne fin de journée

  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 PrOkIuM Voir le message
    le soucis est que ma valeur $1 est des fois coupé d'un ou plusieur espace (%20)
    Quelles fois ? Tu peux donner un exemple ?

    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 à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Bonjour
    Merci pour l'interet que tu me porte !
    Donc par exemple ma categorie est des fois sous une chaine d'un seul est unique mots comme par exemple : "velo" ...
    Mais certaines chaines sont en deux(ou plus?) mots exemple "voiture de sport" , "formule 1".
    Donc séparé par un espace, et donc séparé par un %20...
    Pour résumer l'url comprend donc des %20 :
    "voiture%20de%20sport"
    "formule%201"
    et donc cela ne rentre pas dans les conditions de mon URL rewriting...

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 52
    Points : 45
    Points
    45
    Par défaut
    Bonjour,

    J'allais justement posé la même question :
    J'ai un site de résultats sportifs et j'ai des variables du style
    idtoto=$toto

    avec $toto = Arbalète Field 25m / IR900 (trouver sur la base de données)
    ce qui ce traduit dans l'URL par :
    Arbalète%20Field%2025m%20/%20IR900

    Je n'ai pas réussi à traduire tout cela
    Hélas...

    Bon c'est vrai que c'est plus un problème d'expressions régulières que d'URL rewriting.

    @+

  5. #5
    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
    Pour PrOkIuM :
    J'ai fait un test avec mon EasyPHP 1.8 (Apache 1.3, c'est vieux, je sais, mais j'aime bien ) et ça marche avec cette URL http://localhost/categorie-voiture%20de%20sport.html et le .htaccess suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine on
    RewriteRule ^categorie-([A-Za-z\ ]+[0-9]?)\.html$ index.php?categorie=$1 [L]
    Pour info, mon index.php contient uniquement le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <?php
    echo "-".$_GET["categorie"]."-";
    ?>

    Pour pounie :
    C'est quoi ton problème ? Un problème de réécriture ou que tu cherchais la fonction PHP urlencode() ?

    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

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    je te remerci énormément!
    Je test cela ce soir et je met en resolu !


    +++ Et à bientot!

  7. #7
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 52
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Pour pounie :
    C'est quoi ton problème ? Un problème de réécriture ou que tu cherchais la fonction PHP urlencode() ?

    Bonjour,

    C'est un problème de réécriture, bon déjà avec ce que tu as donné comme réponse je vais pouvoir travailler :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    RewriteEngine on
    RewriteRule ^categorie-([A-Za-z\ ]+[0-9]?)\.html$ index.php?categorie=$1 [L]
    Tu peux voir dans l'exemple que j'ai donné que j'ai des accents ( è ) et également un /
    et c'est cela qui me pose problème.

    Si j'ai bien compris, dans le code ci-dessus, c'est le \ après le z qui traduit ''espace'' ?

    Merci pour ton aide

  8. #8
    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 pounie Voir le message
    Tu peux voir dans l'exemple que j'ai donné que j'ai des accents ( è ) et également un /
    et c'est cela qui me pose problème.
    Je veux bien te croire. Pour les accents, faut absolument les éviter car tu risques d'avoir un pb d'en codage. Pour les /, Apache risque de considérer que c'est un répertoire, mais c'est pas forcément gênant. Mais encore faut-il que tu nous dises clairement quel est le problème : "Je n'ai pas réussi à traduire tout cela", c'est un peu juste

    Citation Envoyé par pounie Voir le message
    Si j'ai bien compris, dans le code ci-dessus, c'est le \ après le z qui traduit ''espace'' ?
    Oui. C'est simplement que si tu le mets pas, Apache part en erreur 500 et que quand tu le mets, ça marche Ca s'appelle avoir une démarche scientifique

    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

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 17
    Points : 14
    Points
    14
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Ca s'appelle avoir une démarche scientifique
    Frimeur!!!! lool

    En tout cas ....


    MERRRRRRRRRRRRCI!!!

  10. #10
    Membre du Club
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    52
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 52
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par _Mac_ Voir le message
    Mais encore faut-il que tu nous dises clairement quel est le problème : "Je n'ai pas réussi à traduire tout cela", c'est un peu juste :
    Hello,

    Pour l'instant je n'ai pas beaucoup le temps de me pencher sur le problème.
    De plus le sujet est clos, donc je ne vais pas continuer à polluer ce topic.

    Si je n'arrive pas à me sortir de ce bourbier, j'ouvrirais un nouveau sujet.

    En tout cas merci de ton aide.

    Citation Envoyé par _Mac_ Voir le message
    Oui. C'est simplement que si tu le mets pas, Apache part en erreur 500 et que quand tu le mets, ça marche Ca s'appelle avoir une démarche scientifique
    Honte à moi, qui possède une formation de technicien

    Bonne journée

  11. #11
    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
    En fait, je me suis mal exprimé : c'est pas une critique, mon histoire de démarche scientifique, je décrivais juste la façon dont j'ai trouvé le \ : j'ai commencé sans, j'ai vu qu'Apache plantait alors j'ai mis un \ et ça a marché, c'est tout. C'était pour dire que j'étais vachement rigoureux dans ma façon de faire.

    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

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

Discussions similaires

  1. [URL rewriting] Une variable pour la langue
    Par Invité dans le forum Apache
    Réponses: 5
    Dernier message: 14/06/2013, 22h03
  2. Réponses: 1
    Dernier message: 04/02/2013, 14h59
  3. Faire suivre une variable avec des espaces
    Par jonathan34 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 14/02/2008, 20h57
  4. [Access] Nom d'une table avec un espace dans SQL
    Par Corsaire dans le forum Langage SQL
    Réponses: 7
    Dernier message: 21/04/2006, 15h50
  5. Désigner une variable avec une variable?
    Par littleman dans le forum Paradox
    Réponses: 4
    Dernier message: 12/08/2002, 11h21

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