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 :

RewriteRule repetition mot


Sujet :

Apache

  1. #1
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Points : 267
    Points
    267
    Par défaut RewriteRule repetition mot
    Bonjour,

    J'ai du mal a faire un redirection , on dirait qu'il revient constament sur la régle !!!

    J'ai une url du type :

    http://www.eeeeeeee.fr/match-resulta...pays2-u21.html

    J'ai écris cette régle pour renomer "pays1" en "pays1-town"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule	^match-resultat/(.*)pays1(.*).html	/match-resultat/$1pays1-town$2.html [R=301,L]
    Mais quand je tape une url du style:
    http://www.eeeeeeee.fr/match-resulta...pays2-u21.html

    Il me renvoie vers une url du style (je 'ai raccourci), il ne cesse de répéter le mot "town"

    http://www.eeeeeeee.fr/match-resulta...pays2-u21.html

    Savez-vous pourquoi ?

    Merci beaucoup

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Bonjour.

    - Il me semble que vous devez échapper le "." dans la partie gauche de la règle.
    - Il manque également le "$" à la fin de cette même partie.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     ^match-resultat/(.*)pays1(.*)\.html$
    P.S : Je ne comprends pas bien ce que vous faites ?... Que représentent pays1, pays2-town, u21 ???.....

    Mais quand je tape une url du style:
    http://www.eeeeeeee.fr/match-resulta...pays2-u21.html
    On ne trouvera jamais pays1 dans une telle chaine !.....

  3. #3
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Points : 267
    Points
    267
    Par défaut
    Les urls ont été tromquées lors de mon copier/coller

    L'url est :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.eeeeeeee.fr/match-resultat/pays1-u21-pays2-u21.html
    Avec mon rewriteRule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule	^match-resultat/(.*)pays1(.*).html	/match-resultat/$1pays1-town$2.html [R=301,L]
    elle devient:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.eeeeeeee.fr/match-resultat/pays1-town-town-town-town-town-town-u21-pays2-u21.html
    alors que je voudrai:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.eeeeeeee.fr/match-resultat/pays1-town-u21-pays2-u21.html
    mon RewriteRule ne cesse de répéter le mot "town" ???

  4. #4
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Points : 267
    Points
    267
    Par défaut
    Je pense avoir réussit
    Je suis passé par ceci, j'ignore si il y a plus simple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    RewriteCond %{REQUEST_URI} (.*)pays1(.*) [NC]
    RewriteCond %{REQUEST_URI} !(.*)pays1-town(.*) [NC]
    RewriteRule	^match-resultat/(.*)pays1(.*).html	/match-resultat/$pays1-town$2.html [R=301,L]

  5. #5
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    La problématique évolue !... Vous faites maintenant des RewriteCond !....

    Exprimez calmement ce que vous voulez faire (en prose, sans parler de code....) et alors seulement quelqu'un pourra vous aider....

    Par ailleurs vous n'avez pas répondu à ça :
    - Il me semble que vous devez échapper le "." dans la partie gauche de la règle.
    - Il manque également le "$" à la fin de cette même partie.

  6. #6
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Points : 267
    Points
    267
    Par défaut
    En effet je me rend compte que je n'ai pas pensé a échaper le . et mettre le $ a la fin. Je le ferai

    Pour être simple ce que voudrai c'est remplacer dans toutes les urls le mot "pays1" par "pays1-town"

    Après je ne sais pas si le RewriteCond utilisé précédement est le plus simple ?

  7. #7
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Bonjour.

    Je ne comprends toujours pas !

    - Si pays1 est une variable dans votre url (Exemple : france, belgique, usa...) vous devez la nommer ([a-z]+) ce qui signifie chaine en minuscules !
    - Idem pour town : ([a-z]+) = chaine de caractères minucules (Ex: paris, lyon, londres...)
    - Si vous écriviez vos variables avec une majuscule en tête: ([A-Z][a-z]+).... (Ex : Tokio)

    Cdlt

    PS : Attention aux noms composés !... Ex : Royaume-Uni, Grande-Bretagne, New-York....

  8. #8
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Points : 267
    Points
    267
    Par défaut
    Pour exemple :

    Si j'ai :

    http://www.eeeeeeee.fr/match-resulta...-argentin.html

    Je voudrais la réécrire comme ceci:

    http://www.eeeeeeee.fr/match-resulta...-argentin.html

    comment feriez-vous ?

  9. #9
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Humm !...

    Je me doutais bien qu'il y avait un problème de variable : "pays1" devait être interprété ([a-z]+)....

    Par ailleurs, vous venez de réécrire la même chose !
    SVP écrivez vos url complètes, ne mettez pas de point !.... Et argentine prend un "e" à la fin...

  10. #10
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Points : 267
    Points
    267
    Par défaut
    J'ai écris les urls completes, mais je ne sais pourquoi le forum tromque mes urls !!!

    Ce que j'ai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.eeeeeeee.fr/match-resultat/belgique-argentine.html
    Ce que je veux:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    http://www.eeeeeeee.fr/match-resultat/belgique-europe-argentine.html

  11. #11
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    D'après ce que vous écrivez (j'ai un fort doute...) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewriteRule ^match-resultat/([a-z]+)-([a-z]+)\.html$  /match-resultat/$1-europe-$2.html
    Mais cela n'a aucun sens :
    - Car si au lieu de belgique on avait russie, vous intégreriez la russie à l'europe et Poutine ne serait pas content !...
    - Et cela suppose également, que vous aurez à construire une page "belgique-europe-argentine.html", ce qui sous-entend que vous aurez donc 63 pages à écrire, car il y a 63 rencontres au mondial 2014...

    Je pense que vous avez un sérieux de problème de conception de votre projet.

    Ne serait-ce pas plutôt cela que vous voulez :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    RewrteRule ^([a-z]+)-([a-z]+)$  /match-resultat.php?pays1=$1&pays2=$2
    Dans votre url vous auriez : http://www.eeeeeeee.fr/belgique-argentine qui pointerait en réalité vers la page match-resultat.php avec passage en paramètre des noms des 2 pays qui se sont rencontrés.... Non ?...

    Cdlt

    PS : Votre paramètre u21 !... N'était-ce pas un score ?...

  12. #12
    Membre actif
    Inscrit en
    Septembre 2004
    Messages
    450
    Détails du profil
    Informations forums :
    Inscription : Septembre 2004
    Messages : 450
    Points : 267
    Points
    267
    Par défaut
    je clos, j'ouvrirai une autre demande avec un exemple différent.

Discussions similaires

  1. Extraction de mots clés
    Par Olive1808 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 01/02/2016, 20h49
  2. Réponses: 9
    Dernier message: 23/12/2013, 16h40
  3. Réccupération du mot de passe d'une connexion
    Par zinaif dans le forum Bases de données
    Réponses: 1
    Dernier message: 02/12/2002, 18h32
  4. Au sujet des mots de passe
    Par FranT dans le forum Langage
    Réponses: 6
    Dernier message: 17/09/2002, 22h16
  5. [langage] Reconnaissance de mots
    Par Flo. dans le forum Langage
    Réponses: 2
    Dernier message: 10/08/2002, 23h34

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