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] Problème avec un paramètre


Sujet :

Apache

  1. #1
    Membre à l'essai
    Profil pro
    Webmarketer
    Inscrit en
    Novembre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Webmarketer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2007
    Messages : 19
    Points : 13
    Points
    13
    Par défaut [URL Rewriting] Problème avec un paramètre
    Bonjour à tous les membres,


    je suis en train d'intégrer un flux xml de sonnerie et j'aimerais bien réecrire les url qui contiennent un seul paramètre..

    Mon url à modifié est de ce format :

    http://www.gsm-sonnerie.com/nouvelle_version/auteur.php5?nom=Mika


    en http://www.gsm-sonnerie.com/nouvelle...iste-mika.html


    Contenu du fichier .htaccess dans le répertoire 'nouvelle_version'

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Options +FollowSymlinks
    RewriteEngine on
    RewriteRule ^artiste-([a-z]+)\.html$ auteur.php5?nom=$1 [NC,L]

    Mon problème est que rien de ne se passe alors que mon hébergeur Nuxit accepte l'url rewriting.

    Le site est dans ce répertoire :
    http://www.gsm-sonnerie.com/nouvelle_version/


    Merci pour votre aide,

    José

  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
    C'est normal : ta règle ne matche qu'avec une URL du style /artiste-toto.html, c'est qui est loin ce qu'il te faut, il me semble. Vire le ^ devant, ça devrait aller mieux.

    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
    Webmarketer
    Inscrit en
    Novembre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Webmarketer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2007
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    J'ai modifié le .htaccess comme tu m'as dis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule artiste-([a-z]+)\.html$ auteur.php5?nom=$1 [NC,L]
    mais il ne fonctionne toujours pas.


    Lorsque j'essaye d'afficher une url qui devrait être réecrite par exemple :
    http://www.gsm-sonnerie.com/nouvelle...ste-Sinik.html

    J'ai le droit à ce message d'erreur alors que mon fichier .htaccess et 'auteur.php5' sont bien présent dans la racine du répertoire 'nouvelle_version'.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    The requested URL /www.gsm-sonnerie.com/nouvelle_version/auteur.php5 was not found on this server.

    J'ai donc modifié comme ceci le fichier htaccess :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule artiste-([a-z]+)\.html$  http://www.gsm-sonnerie.com/nouvelle_version/auteur.php5?nom=$1 [NC,L]
    Maintenant, quand j'essaie d'afficher une page réecrite je n'ai pas d'erreur mais le navigateur me redirige automatiquement vers la page contenant des paramètres.

  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
    Faut rajouter A-Z si tu as en plus des majuscules : a-z, c'est que les minuscules :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule artiste-([a-zA-Z]+)\.html$ auteur.php5?nom=$1 [NC,L]

    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 à l'essai
    Profil pro
    Webmarketer
    Inscrit en
    Novembre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Webmarketer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2007
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    J'ai rajouter A-Z comme tu m'as conseillé précédemment.

    Par contre, je ne comprends toujours pas pourquoi
    http://www.gsm-sonnerie.com/nouvelle...iste-mika.html

    me redirige vers http://www.gsm-sonnerie.com/nouvelle....php5?nom=Mika

    Si tu veux je peux te donner les identifiants de serveur par message privé.

    Je te suis très reconnaissant pour ton aide.

  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
    Points : 12 977
    Points
    12 977
    Par défaut
    Si ça marche en ajoutant A-Z, tant mieux, mais c'est pas logique que ça soit ça qui fasse marcher la règle : le NC dit de ne pas tenir compte de la casse... A la limite, vire le NC des [].

    Pour la redirection, c'est pareil, c'est pas logique. Tu peux nous donner la règle finale ?

    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

  7. #7
    Membre à l'essai
    Profil pro
    Webmarketer
    Inscrit en
    Novembre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Webmarketer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2007
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    J'ai rajouter le chemin d'accès au fichier auteur.php5 dans le fichier .htaccess mais ça ne fonctionne toujours pas car le navigateur me redirige vers la page contenant des paramètres.

    Voici la règle finale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule artiste-([a-zA-Z]+)\.html$ http://www.gsm-sonnerie.com/nouvelle_version/auteur.php5?nom=$1 [L]

  8. #8
    Membre à l'essai
    Profil pro
    Webmarketer
    Inscrit en
    Novembre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Webmarketer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2007
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    Merci beaucoup pour votre aide,

    l'url rewriting fonctionne maintenant, il suffisait juste de supprimer une partie de l'url dans le chemin d'accès.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    RewriteRule artiste-([a-zA-Z]+)\.html$ /nouvelle_version/auteur.php5?id=$1 [L]
    Cependant, maintenant j'ai un autre soucis la réecriture marche très bien pour les rls contenant un seul mot passé en paramètre mais dès qu'elle en contient 2 séparer par un espace, la page ne peut pas s'afficher.

    L'espace est remplacé par '/20%' dans la barre d'adresse et celà ne fonctionne pas.

    Exemple :
    http://www.gsm-sonnerie.com/nouvelle...id guetta.html

  9. #9
    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
    Toujours pareil : ta règle de réécriture s'attend à trouver uniquement des lettres entre artiste- et .html. Rajoute un espace, pour voir :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule artiste-([a-zA-Z ]+)\.html$ /nouvelle_version/auteur.php5?id=$1 [L]
    Ou peut-être ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule artiste-(([a-zA-Z]%20)+)\.html$ /nouvelle_version/auteur.php5?id=$1 [L]

    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

  10. #10
    Membre à l'essai
    Profil pro
    Webmarketer
    Inscrit en
    Novembre 2007
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Webmarketer
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Novembre 2007
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    Merci pour tes propositions mais ça ne fonctionne toujours pas.

    La première règle me met une page avec une erreur interne du serveur.

    Et pour la 2ème règle, rien ne se passe.

  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
    Faut peut-être mettre un \ devant le %

    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

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 778
    Points
    17 778
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule artiste-(([a-zA-Z\x20])+)\.html$ /nouvelle_version/auteur.php5?id=$1 [L]
    Utilisez sa représentation/valeur hexadécimale (\x20) sinon il est possible de l'inclure via \s ou [:space:] mais ça en inclurait d'autres ...

Discussions similaires

  1. [URL Rewriting] Problème avec plusieurs règles
    Par Pistol Kiss dans le forum Apache
    Réponses: 1
    Dernier message: 17/02/2009, 09h58
  2. [URL Rewriting] Problème avec plusieurs variables
    Par kwzprtt dans le forum Apache
    Réponses: 2
    Dernier message: 13/05/2008, 01h00
  3. Réponses: 2
    Dernier message: 13/12/2007, 14h45
  4. Réponses: 3
    Dernier message: 31/07/2007, 16h40
  5. [URL Rewriting] problème avec sous domaine
    Par Booyakha dans le forum Apache
    Réponses: 1
    Dernier message: 31/07/2007, 16h31

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