URL Rewriting et plusieurs id à la suite
9 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- kitten13
- WRInaute discret

- Messages: 213
- Inscription: 30 Avr 2007
URL Rewriting et plusieurs id à la suite
Bonjour,
Je but sur une règle dont voici le topo:
catid et subcatid peuvent prendre 1 ou 2 chiffre max.
Le problème viens dés deux dernières parenthèses qui sont mal interpréter.
si url http://localhost/articles-vetements-t942.html ça fonctionne
mais si je fait
si url http://localhost/articles-vetements-t9427.html ça ne marche pas
Je précise que je souhaite pas séparer les id (catid/subcatid) par des tirets ou slash etc ...
Merci d'avance pour votre aide
Je but sur une règle dont voici le topo:
- Code: Tout sélectionner
RewriteRule ^([^/]+)t([-]?[0-9]+)[b]([0-9]+)([0-9]+)[/b]\.html
/index.php?articles=news&catid=$3&subcatid=$4&cityid=$2 [QSA]
catid et subcatid peuvent prendre 1 ou 2 chiffre max.
Le problème viens dés deux dernières parenthèses qui sont mal interpréter.
- Code: Tout sélectionner
# catid =4 et subcatid = 2 et cityid = 9
si url http://localhost/articles-vetements-t942.html ça fonctionne
mais si je fait
- Code: Tout sélectionner
# catid =4 et subcatid = 27 et cityid = 9
si url http://localhost/articles-vetements-t9427.html ça ne marche pas
Je précise que je souhaite pas séparer les id (catid/subcatid) par des tirets ou slash etc ...
Merci d'avance pour votre aide
- sky
- WRInaute occasionnel

- Messages: 260
- Inscription: 3 Mar 2003
Re: URL Rewriting et plusieurs id à la suite
Salut
Je connais pas assès bien l'url rewriting pour te répondre, mais y'a une autre solution au problème :
Si tu passe une seul variable numérique et ensuite, tu tritures la variable en PHP pour resortir les bonnes variables.
Genre (exemple rapide sans test hein...) : (tu peux faire
Juste une idée
Faudra adapter un peux à tes besoins, mais c'est un fonctionnement qui peux être envisagé.
De plus, si tu change l'ordre, suffit de modifier le script qui triture la variable params, le reste sera ok.
Pense aussi à faire un truc par defaut, genre : /articles-vetement-000000.html
De cette façon, tu peux aussi enlever la condition.
Bon, ça répond pas à ta question ceci dit ^^
Sky
Je connais pas assès bien l'url rewriting pour te répondre, mais y'a une autre solution au problème :
Si tu passe une seul variable numérique et ensuite, tu tritures la variable en PHP pour resortir les bonnes variables.
Genre (exemple rapide sans test hein...) : (tu peux faire
- Code: Tout sélectionner
RewriteRule ^([^/]+)t([-]?[0-9]+)\.html
/index.php?articles=news¶ms=2 [QSA]
- Code: Tout sélectionner
$catid = 0;
$subcatid = 0;
$cityid = 0;
$test = $_GET['params'];
$catid = substr($test, 0, 2);
$subcatid = substr($test, 2, 4);
$cityid = substr($test, 4, 6);
Juste une idée
Faudra adapter un peux à tes besoins, mais c'est un fonctionnement qui peux être envisagé.
De plus, si tu change l'ordre, suffit de modifier le script qui triture la variable params, le reste sera ok.
Pense aussi à faire un truc par defaut, genre : /articles-vetement-000000.html
De cette façon, tu peux aussi enlever la condition.
Bon, ça répond pas à ta question ceci dit ^^
Sky
- kitten13
- WRInaute discret

- Messages: 213
- Inscription: 30 Avr 2007
Re: URL Rewriting et plusieurs id à la suite
Dsl mat... pour les balises 
sky merci pour ton aide, substr permet retourner un segment de chaîne donc id mais ne gère pas les possibilités 1 ou 2 chiffres dans id comme le ferait une regexp (htaccess ou php)
A moins que je me trompe
Sinon pour revenir à ma règles j'ai essayer ceci
([0-9]{1,2}) Autorise un ou deux chiffres
Mais ca ne marche pas, enfaite il me délimite mal id catid de subcatid, par contre si je mets un caractère entre les deux alors cela fonctionne, exemple avec (s)
mais comme dit précédemment je préfère éviter tout caractère
sky merci pour ton aide, substr permet retourner un segment de chaîne donc id mais ne gère pas les possibilités 1 ou 2 chiffres dans id comme le ferait une regexp (htaccess ou php)
Sinon pour revenir à ma règles j'ai essayer ceci
- Code: Tout sélectionner
([0-9]{1,2})
([0-9]{1,2}) Autorise un ou deux chiffres
- Code: Tout sélectionner
RewriteRule ^([^/]+)t([-]?[0-9]+)[b]([0-9]{1,2})([0-9]{1,2})[/b]\.html
Mais ca ne marche pas, enfaite il me délimite mal id catid de subcatid, par contre si je mets un caractère entre les deux alors cela fonctionne, exemple avec (s)
- Code: Tout sélectionner
RewriteRule ^([^/]+)t([-]?[0-9]+)[b]([0-9]+)s([0-9]+)[/b]\.html
mais comme dit précédemment je préfère éviter tout caractère
- sky
- WRInaute occasionnel

- Messages: 260
- Inscription: 3 Mar 2003
Re: URL Rewriting et plusieurs id à la suite
Salut
Si tu utilises des 0 quand y'a pas de nb, ça marchera.
Exemple avec aucun id : /articles-vetement-000000.html
Exemple avec un le 1er id : /articles-vetement-010000.html
Exemple avec le 2nd id, mais sans le 1er : /articles-vetement-002900.html
Exemple avec le 2nd id et le 3ème, mais sans le 1er : /articles-vetement-002982.html
Exemple avec un seul nombre a chaque id : /articles-vetement-050601.html
Si y'a qu'un chiffre, tu met un 0 devant.
Si tu conçoit une bonne fonction ou classe pour extraire tes valeurs, c'est assès simple comme fonctionnement.
Mais ceci est tjrs parce que je n'utilise plus d'url rewritng complexe depuis un bon moment ^^
Sky
Si tu utilises des 0 quand y'a pas de nb, ça marchera.
Exemple avec aucun id : /articles-vetement-000000.html
Exemple avec un le 1er id : /articles-vetement-010000.html
Exemple avec le 2nd id, mais sans le 1er : /articles-vetement-002900.html
Exemple avec le 2nd id et le 3ème, mais sans le 1er : /articles-vetement-002982.html
Exemple avec un seul nombre a chaque id : /articles-vetement-050601.html
Si y'a qu'un chiffre, tu met un 0 devant.
Si tu conçoit une bonne fonction ou classe pour extraire tes valeurs, c'est assès simple comme fonctionnement.
Mais ceci est tjrs parce que je n'utilise plus d'url rewritng complexe depuis un bon moment ^^
Sky
- kitten13
- WRInaute discret

- Messages: 213
- Inscription: 30 Avr 2007
Re: URL Rewriting et plusieurs id à la suite
En faite je le fait déjà un exemple
la règle délimite bien catid de subcatid si subcatid contient un seul chiffre mais pas si contient 2 chiffre
Pour l'instant je suis obliger de mettre un caractère entre les deux (un s) mais j'aimerais m'en passer
- Code: Tout sélectionner
$catid?$catid:0
$subcatid?$subcatid:0
la règle délimite bien catid de subcatid si subcatid contient un seul chiffre mais pas si contient 2 chiffre
Pour l'instant je suis obliger de mettre un caractère entre les deux (un s) mais j'aimerais m'en passer
- sky
- WRInaute occasionnel

- Messages: 260
- Inscription: 3 Mar 2003
Re: URL Rewriting et plusieurs id à la suite
Voici un exemple fonctionnel :
Bon, dit moi si je persiste dans une voie qui ne te plais pas ^^
- Code: Tout sélectionner
<?php
function string2ids($uri_params)
{
$valeurs = array(
'catid' => 0,
'subcatid' => 0,
'cityid' => 0
);
if(strlen($uri_params) == 6)
{
$valeurs['catid'] = (int)substr($uri_params, 0, 2);
$valeurs['subcatid'] = (int)substr($uri_params, 2, 2);
$valeurs['cityid'] = (int)substr($uri_params, 4, 2);
}
return $valeurs;
}
$params = (!isset($_GET['params']))? 0 : (string)$_GET['params'];
$mesIDS = string2ids($params);
echo '
<p>
catid : '.$mesIDS['catid'].'<br />
subcatid : '.$mesIDS['subcatid'].'<br />
cityid : '.$mesIDS['cityid'].'
</p>';
?>
Bon, dit moi si je persiste dans une voie qui ne te plais pas ^^
- kitten13
- WRInaute discret

- Messages: 213
- Inscription: 30 Avr 2007
Re: URL Rewriting et plusieurs id à la suite
Re,
Merci pour ton aide, tes efforts. En faite j'avais pas bien saisie ton raisonnement mais c'est plus clair.
Cependant cette méthode est bien à implémenter à la construction des pages, je doit fait modifier plusieurs page (60) est je t'avoue ne pas avoir le courage.
Sinon j'ai résolu mon problème en faisant comme ceci :
une règle pour un id de 1 chiffre et une autre pour un id de 2 chiffres puis c'est tout
petit mémo à retenir:
Liste des quantifieurs :
"Zéro ou une fois" : point d'interrogation ?
"Zéro, une ou plusieurs fois" : étoile *
"Au moins une fois" : signe plus +
"Deux fois" : {2}
"De deux à quatre fois" : {2,4}
"Au moins deux fois" : {2,}
À noter que :
? est équivalent à {0,1}
* est équivalent à {0,}
+ est équivalent à {1,}
Merci encore pour ton aide
Merci pour ton aide, tes efforts. En faite j'avais pas bien saisie ton raisonnement mais c'est plus clair.
Cependant cette méthode est bien à implémenter à la construction des pages, je doit fait modifier plusieurs page (60) est je t'avoue ne pas avoir le courage.
Sinon j'ai résolu mon problème en faisant comme ceci :
une règle pour un id de 1 chiffre et une autre pour un id de 2 chiffres puis c'est tout
- Code: Tout sélectionner
RewriteRule ^([^/]+)t([-]?[0-9]+)[b]([0-9]+)([0-9]{2})[/b]\.html
/index.php?articles=news&catid=$3&subcatid=$4&cityid=$2 [QSA]
RewriteRule ^([^/]+)t([-]?[0-9]+)[b]([0-9]+)([0-9]{1})[/b]\.html
/index.php?articles=news&catid=$3&subcatid=$4&cityid=$2 [QSA]
petit mémo à retenir:
Liste des quantifieurs :
"Zéro ou une fois" : point d'interrogation ?
"Zéro, une ou plusieurs fois" : étoile *
"Au moins une fois" : signe plus +
"Deux fois" : {2}
"De deux à quatre fois" : {2,4}
"Au moins deux fois" : {2,}
À noter que :
? est équivalent à {0,1}
* est équivalent à {0,}
+ est équivalent à {1,}
Merci encore pour ton aide
9 messages
• Page 1 sur 1
Formation recommandée sur ce thème :
Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.
Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.
Lectures recommandées sur ce thème :
- Redirection url suite à mise en place url rewriting.
- URL rewriting suite à un tracking
- Url Rewriting suite à Migration site
- Redirection de page suite URL rewriting ?
- url trop longue suite au rewriting ?
- Redirection suite à changement de CMS + URL rewriting
- url rewriting suite a la redirection d'index.php
- Probleme url rewriting suite a une migration
- Duplicate content suite à URL Rewriting pas assez préparée
- Hausse de visiteurs suite à rewriting
Consultez la description détaillée des produits ou services de Google suivants : Google goo.gl
- Analyse des backlinks
Cet outil vous permet d'analyser en détails la "popularité" de votre site sur Google. En plus du nombre de liens pris en compte par Google, il calcule le pourcentage de liens internes parmi tous les liens, et il affiche les premières URL trouvées. - Recherche de citations d'un site en texte brut
Cet outil vous permet de trouver des pages citant votre site mais ne faisant pas (encore) de lien. Il suffira parfois d'un simple mail pour transformer cette simple citation en lien (backlink).
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

