Comment créer des répertoires virtuels avec url rewriting ?

Discussion dans 'URL Rewriting et .htaccess' créé par tryan, 1 Octobre 2010.

  1. tryan
    tryan WRInaute passionné
    Inscrit:
    20 Février 2005
    Messages:
    2 239
    J'aime reçus:
    0
    Bonjour,

    Primo, je suis nul en rewriting ...(ça c'est dit).

    Je m'arrache les tifs concernant une ou des règles d'url rewriting permettant de créer des répertoires virtuels . En gros je cherches a faire l'arborescence suivante : /blabla/categorie/region/departement/

    J'ai fais beaucoup de testes dont voici le dernier qui n'est pas loin du résultat recherché :
    Code:
    Options +FollowSymlinks
    RewriteEngine on
    RewriteBase /
    
    RewriteRule  ^blabla(.*)/(.*)/(.*)/(.*)$  page1.php?a=$1&b=$2&c=$3 [L]
    RewriteRule  ^blabla(.*)/(.*)/(.*)$  page2.php?d=$1&e=$2 [L]
    RewriteRule  ^blabla(.*)/(.*)$  page3.php?f=$1 [L]
    RewriteRule  ^blabla(.*)$  page4.php?g=$1 [L]
    
    Voici ce qui se passe quand je descend dans cette arborescence :

    /blabla/categorie/region/departement/ -> ok, m'affiche departement
    /blabla/categorie/region/departement -> ok, m'affiche departement
    /blabla/categorie/region/ -> pas ok, m'affiche departement au lieu de region
    /blabla/categorie/region -> ok, m'affiche region
    /blabla/categorie/ -> pas ok, m'affiche region au lieu de categorie
    /blabla/categorie ->ok, m'affiche categorie
    /blabla/ -> pas ok, m'affiche categorie au lieu de blabla
    /blabla -> ok, m'affiche blabla

    Ce truc me gonfle sérieusement :? alors si vous avez de suggestions ...

    Merci
     
  2. Genesys
    Genesys Nouveau WRInaute
    Inscrit:
    2 Mars 2004
    Messages:
    36
    J'aime reçus:
    0
    Solution rapide : remplacer le (.*) trop général par ([a-z-]*). A supposer que les termes inclus dans tes URLs contiennent uniquement des caractères alphabétiques en minuscules, et le tiret. Sinon, ce sera à adapter...

    Pour le reste, il y a moyen de simplifier tes règles...
     
  3. tryan
    tryan WRInaute passionné
    Inscrit:
    20 Février 2005
    Messages:
    2 239
    J'aime reçus:
    0
    Merci mais Non, ça ne fonctionne pas et les url contiennent uniquement des lettres minuscules et tirets.

    J'ai trouvé une autre méthode qui fonctionne :
    Code:
    RewriteRule  ^blabla([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$  page1.php?a=$1&b=$2&c=$3 [L]
    RewriteRule  ^blabla([^/]+)/([^/]+)/([^/]+)/?$  page2.php?d=$1&e=$2 [L]
    RewriteRule  ^blabla([^/]+)/([^/]+)/?$  page3.php?f=$1 [L]
    RewriteRule  ^blabla([^/]+)/?$  page4.php?g=$1 [L]
    
    Cependant, j'ai besoin de dupliquer celle-ci en changeant juste le terme "blabla" par un autre :
    Code:
    RewriteRule  ^tutu([^/]+)/([^/]+)/([^/]+)/([^/]+)/?$  page5.php?h=$1&i=$2&j=$3 [L]
    RewriteRule  ^tutu([^/]+)/([^/]+)/([^/]+)/?$  page6.php?k=$1&l=$2 [L]
    RewriteRule  ^tutu([^/]+)/([^/]+)/?$  page7.php?m=$1 [L]
    RewriteRule  ^tutu([^/]+)/?$  page8.php?n=$1 [L]
    
    ... et forcément ..404 ..!

    Les 4 premières règles fonctionnent mais pas les 4 suivantes, pourquoi ?
     
Chargement...
Similar Threads - créer répertoires virtuels Forum Date
Créer des répertoires virtuels pour mes langues URL Rewriting et .htaccess 5 Novembre 2010
Créer un ecommerce pour un client avec Wix ou Prestashop ? e-commerce 7 Novembre 2019
Quel type de logiciel utiliser pour créer un site web simple et performant ? Demandes d'avis et de conseils sur vos sites 14 Octobre 2019
Créer une redirection 301 URL Rewriting et .htaccess 5 Septembre 2019
lien vers rien ou page vide à créer Rédaction web et référencement 5 Juillet 2019
Créer un nom d’utilisateur de Page Facebook @ Facebook 13 Juin 2019
Créer un nouveau compte Google ads après avoir été suspendu AdWords 27 Mars 2019
À quel moment Google décide de "créer" une position 0 ? Référencement Google 26 Mars 2019
Comment créer un sitemap pas à pas ? Débuter en référencement 12 Janvier 2019
Créer une structure en silo dans WordPress : pages ou catégories ? Référencement Google 30 Octobre 2018
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice