comment ignorer le / final?

Discussion dans 'URL Rewriting et .htaccess' créé par YvesB, 18 Février 2006.

  1. YvesB
    YvesB WRInaute occasionnel
    Inscrit:
    11 Janvier 2004
    Messages:
    422
    J'aime reçus:
    0
    Bonjour,

    je souhaites faire passer mes parametres dans des dossiers du style :

    www.mondomaine.com/para1/para2/para3/

    pour :

    www.mondomaine.com/?p1=para1&p2=para2&p3=para4

    Mais 2 problemes : Les parametres ne doivent pas etre obligatoires, et le dernier "/" doit pouvoir etre oublié ....

    Mon htaccess est comme cela :

    RewriteEngine on
    RewriteRule ^(.*)?/?(.*)?/?(.*)?/?$ index.php?p1=$0&p2=$1&p3=$2

    Merci de votre aide
     
  2. ChezThierry
    ChezThierry WRInaute occasionnel
    Inscrit:
    21 Octobre 2005
    Messages:
    256
    J'aime reçus:
    0
    Si, comme je le comprends, tes paramètres sont optionnels mais que, s'il n'y en a qu'un, c'est obligatoirement p1, pour 2, obligatoirement p1 et p2, etc, alors tu peux faire comme ça :
    Code:
    RewriteEngine on
    RewriteRule ^(.+)/(.+)/(.+)/?$ index.php?p1=$1&p2=$2&p3=$3 [L]
    RewriteRule ^(.+)/(.+)/?$ index.php?p1=$1&p2=$2 [L]
    RewriteRule ^(.+)/?$ index.php?p1=$1 [L]
    
     
  3. correiaj
    correiaj WRInaute impliqué
    Inscrit:
    25 Avril 2005
    Messages:
    987
    J'aime reçus:
    0
    Ou bien:
    Code:
    RewriteEngine on
    RewriteRule ^([^/]*)/?([^/]*)/?([^/]*)/$ index.php?p1=$1&p2=$2&p3=$3
    
     
  4. YvesB
    YvesB WRInaute occasionnel
    Inscrit:
    11 Janvier 2004
    Messages:
    422
    J'aime reçus:
    0
    Merci de vos 2 réponses. Malheuresement, pour vous deux reponses le / de la fin est obligatoire pour que cela marche.

    Puis avant de traité quoi que ce soit ajouté un / si il n'y est pas?
     
  5. ChezThierry
    ChezThierry WRInaute occasionnel
    Inscrit:
    21 Octobre 2005
    Messages:
    256
    J'aime reçus:
    0
    Je viens de faire quelques essais chez moi (apache2 sous ubuntu breezy badger 5.10) :
    Avec ces règles exactes :
    Code:
    RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ index.php?p1=$1&p2=$2&p3=$3 [L]
    RewriteRule ^([^/]+)/([^/]+)/?$ index.php?p1=$1&p2=$2 [L]
    RewriteRule ^([^/]+)/?$ index.php?p1=$1 [L]
    
    Chez moi j'ai remplacé [L] par [L,R] pour voir le résultat directement dans la barre d'adresses

    ça fonctionne pour les cas suivants :
    -http://www.example.com/page1
    -http://www.example.com/page1/
    qui donnent -http://www.example.com/index.php?p1=page1


    -http://www.example.com/page1/page2
    -http://www.example.com/page1/page2/
    qui donnent -http://www.example.com/index.php?p1=page1&p2=page2

    -http://www.example.com/page1/page2/page3
    -http://www.example.com/page1/page2/page3/
    qui donnent -http://www.example.com/index.php?p1=page1&p2=page2&p3=page3


    (Jai modifié par rapport à mon premier post parce qu'on avait p1=page1/ dans certains cas (le / final restait)

    Es-tu sûr que ça ne fonctionne pas chez toi, ça ?
     
  6. YvesB
    YvesB WRInaute occasionnel
    Inscrit:
    11 Janvier 2004
    Messages:
    422
    J'aime reçus:
    0
    Quand je copie/colle ton htaccess, seul p1 recupere une valeur et c'est la valeur : 'index.php' !

    si j'enleve le '?' a la fin de chaque regle,

    RewriteRule ^([^/]+)/$ index.php?p1=$1 [L]

    ca marche, mais probleme si je ne met pas le / a la fin de l'url,


    cela ne marche pas...
     
  7. ChezThierry
    ChezThierry WRInaute occasionnel
    Inscrit:
    21 Octobre 2005
    Messages:
    256
    J'aime reçus:
    0
    C'est pas normal que tu retrouves index.php dans p1, ça veut dire une de ces deux choses :
    - les règles sont appliquées 2 fois de suite, une fois pour créer l'URL avec index.php, et l'autre où p1 prends la valeur index.php, ce qui est impossible à cause du [L]
    - tu appelles toi-même une url du style index.php, et la règle prends ça pour un nom de répertoire et reformule index.php?p1=index.php

    Si tu me confirmes que tu n'as rien d'autre dans ton .htaccess que ces règles, on va essayer comme ça :
    Code:
    RewriteRule ^index.php$ - [L]
    RewriteRule ^([^/]+)/([^/]+)/([^/]+)/?$ index.php?p1=$1&p2=$2&p3=$3 [L]
    RewriteRule ^([^/]+)/([^/]+)/?$ index.php?p1=$1&p2=$2 [L]
    RewriteRule ^([^/]+)/?$ index.php?p1=$1 [L] 
    
     
  8. YvesB
    YvesB WRInaute occasionnel
    Inscrit:
    11 Janvier 2004
    Messages:
    422
    J'aime reçus:
    0
    Ce coup si ... ca marche complementement ! Merci mille fois de ta percévérance. Et parce qu'un PR 5 vos mieux que 100 mercis, je ferait un lien sur ton site en profil quand mon site sera reoprérationnel.


    Merci bonne soirée :)
    (Merci aussi correiaj)
     
  9. ChezThierry
    ChezThierry WRInaute occasionnel
    Inscrit:
    21 Octobre 2005
    Messages:
    256
    J'aime reçus:
    0
    J'essaye d'aider dans cette rubrique autant que faire se peut, puisque je suis fan de Perl et que j'ai l'habitude d'utiliser les regexp, ça me fait donc plaisir de me triturer un peu la cervelle pour répondre.

    C'est néanmoins la première fois qu'on me propose de me remercier de cette façon, merci beaucoup à toi, surtout que mon pauvre petit blog tarde à trouver son public, une petite montée de PR pourrait peut-être l'aider :)
     
  10. YvesB
    YvesB WRInaute occasionnel
    Inscrit:
    11 Janvier 2004
    Messages:
    422
    J'aime reçus:
    0
    Aucun probleme. Le lien et deja en place sur la page daccueil temporaire : www.afterdreams.com
     
Chargement...
Similar Threads - ignorer final Forum Date
Bookmarklet pour ignorer le consentement (cookie-consent) Développement d'un site Web ou d'une appli mobile 5 Avril 2021
Ignorer toutes les url contenant un mot URL Rewriting et .htaccess 25 Février 2015
Ignorer un passage de boucle while Développement d'un site Web ou d'une appli mobile 18 Octobre 2013
ignorer les visites d'un site référent Google Analytics 13 Février 2013
Balise permettant d'ignorer le poids de certains mots Débuter en référencement 20 Janvier 2011
Google semble ignorer mes modifs Crawl et indexation Google, sitemaps 1 Juin 2010
Demander à Google d'ignorer une/des section(s) d'une page Crawl et indexation Google, sitemaps 10 Mars 2008
Ignorer des pages dynamique (aspx) Crawl et indexation Google, sitemaps 6 Janvier 2008
Yahoo robots-nocontent : pour faire ignorer des sections de page Autres moteurs de recherche connus 3 Mai 2007
comment ignorer une partie d'un contenu Référencement Google 26 Février 2007
Forcer les moteurs à "ignorer" une partie de la pa Débuter en référencement 11 Octobre 2006
Moteur : liste des mots à ignorer Développement d'un site Web ou d'une appli mobile 22 Août 2006
Ordonner à Google d'ignorer les sites de e-commerce Google : l'entreprise, les sites web, les services 20 Avril 2006
Ignorer un repertoire lors de la reecriture URL Rewriting et .htaccess 2 Janvier 2005
des lignes de texte html à ignorer Administration d'un site Web 19 Octobre 2003
Quelles finalités pour un fingerprint ? Droit du web (juridique, fiscalité...) 23 Décembre 2020
Et si finalement, j'affichais tout sur la même page ? Débuter en référencement 14 Novembre 2015
finalisation d'un projet Droit du web (juridique, fiscalité...) 15 Octobre 2015
Finalement, quelle est la différence entre ces deux scripts ? Développement d'un site Web ou d'une appli mobile 29 Septembre 2015
Finalement, follow ou nofollow ? Netlinking, backlinks, liens et redirections 27 Mai 2014