URL Rewriting et PHP
17 messages
• Page 1 sur 2 • 1, 2
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- mikl194
- Nouveau WRInaute

- Messages: 21
- Inscription: 26 Déc 2006
URL Rewriting et PHP
Bonjour à tous,
J'ai URL Rewrité (nouveau verbe!
) mon site web. Donc j'envois en parametre une variable pour une page php donnée. Ensuite, je crée une deuxième règle de réécriture pour la meme page, et celle ci ne marche pas...
Exemple :
RewriteRule ^index-(.+)\.html$ /index.php?var1=$1 [L]
RewriteRule ^index-(.+)-(.+)\.html$ /index.php?var1=$1&var2=$2 [L]
Est-ce deja possible de créer deux règles pour une meme page php ou il faut obligatoirement créer une deuxième page pour la seconde règle ?
J'ai URL Rewrité (nouveau verbe!
Exemple :
RewriteRule ^index-(.+)\.html$ /index.php?var1=$1 [L]
RewriteRule ^index-(.+)-(.+)\.html$ /index.php?var1=$1&var2=$2 [L]
Est-ce deja possible de créer deux règles pour une meme page php ou il faut obligatoirement créer une deuxième page pour la seconde règle ?
-

bgdc - WRInaute impliqué

- Messages: 723
- Inscription: 23 Mai 2005
Re: URL Rewriting et PHP
mikl194 a écrit:Est-ce deja possible de créer deux règles pour une meme page php ou il faut obligatoirement créer une deuxième page pour la seconde règle ?
Oui c'est possible, et dans ton cas, il faut que inverse tes 2 regles je pense.
-

KOogar - WRInaute accro

- Messages: 3884
- Inscription: 16 Nov 2004
dorian53 a écrit:Oui dans ce cas il faut inverser car les règles sont confuses.
Confuse... tu voulais dire logique je pense :
Comme une variable peut-être vide, le serveur ne tiens pas compte du nombre d'arguments et pointe sur la première réecriture disponible.
- mikl194
- Nouveau WRInaute

- Messages: 21
- Inscription: 26 Déc 2006
Oui, c'est ok !! En inversant les variables ca marche nickel !
Merci
Par contre j'avais une autre petite question,
Est-ce qu'il est possible d'envoyé une variable à déja une page réécrite ?
Exemple:
Page réécrite : site-accueil.html
Page réécrite + var : site-accueil.html?var=1
Merci
Merci
Par contre j'avais une autre petite question,
Est-ce qu'il est possible d'envoyé une variable à déja une page réécrite ?
Exemple:
Page réécrite : site-accueil.html
Page réécrite + var : site-accueil.html?var=1
Merci
-

dorian53 - WRInaute passionné

- Messages: 2199
- Inscription: 10 Avr 2005
KOogar a écrit:dorian53 a écrit:Oui dans ce cas il faut inverser car les règles sont confuses.
Confuse... tu voulais dire logique je pense :
Comme une variable peut-être vide, le serveur ne tiens pas compte du nombre d'arguments et pointe sur la première réecriture disponible.
Non confuse, la 1ère règle capture tout avant la 2ème (qui est donc inutile dans ce sens).
-

KOogar - WRInaute accro

- Messages: 3884
- Inscription: 16 Nov 2004
Comme une variable peut-être vide, le serveur ne tiens pas compte du nombre d'arguments pour ne pas allouer de la mémoire inutilement et pointe sur la première réecriture disponible.
Cela ne te semble pas logique qu'un serveur cherche à économiser ses ressources ??
La règle :
Dans le fichier .htaccess, il faut placer les redirections en ordre décroissant par nombre d'arguments quand il s'agit du même fichier pointé.
Cela ne te semble pas logique qu'un serveur cherche à économiser ses ressources ??
La règle :
Dans le fichier .htaccess, il faut placer les redirections en ordre décroissant par nombre d'arguments quand il s'agit du même fichier pointé.
dorian53 a écrit:KOogar a écrit:dorian53 a écrit:Oui dans ce cas il faut inverser car les règles sont confuses.
Confuse... tu voulais dire logique je pense :
Comme une variable peut-être vide, le serveur ne tiens pas compte du nombre d'arguments et pointe sur la première réecriture disponible.
Non confuse, la 1ère règle capture tout avant la 2ème (qui est donc inutile dans ce sens).
-

dorian53 - WRInaute passionné

- Messages: 2199
- Inscription: 10 Avr 2005
KOogar a écrit:La règle :
Dans le fichier .htaccess, il faut placer les redirections en ordre décroissant par nombre d'arguments quand il s'agit du même fichier pointé.
C'est ce qu'on dit depuis le début avec bgdc, regarde son premier post et dis-moi si la règle est respectée... (j'ai rien compris à ton intervention)
Ces règles sont confuses, car la 1ère n'est pas assez précise, son .* empêche la seconde règle d'exister, s'il aurait pu la faire plus précise (donc moins confuse) pas de soucis.
Exemple, ce cas peut-être juste.
- Code: Tout sélectionner
RewriteRule ^index-([0-9]+)\.html$ /index.php?var1=$1 [L]
RewriteRule ^index-(.+)-(.+)\.html$ /index.php?var1=$1&var2=$2 [L]
De tout façon, on est d'accord depuis le début.
-

KOogar - WRInaute accro

- Messages: 3884
- Inscription: 16 Nov 2004
dorian53 a écrit:Exemple, ce cas peut-être juste.
- Code: Tout sélectionner
RewriteRule ^index-([0-9]+)\.html$ /index.php?var1=$1 [L]
RewriteRule ^index-(.+)-(.+)\.html$ /index.php?var1=$1&var2=$2 [L]
si tu pointes une url du type :
index-10-20.html
il pointera sur la premiere redirection :
RewriteRule ^index-([0-9]+)\.html$ /index.php?var1=$1 [L]
et ne prendra pas en compte le second argument. Ton code sera mal interpreté.
faite le test
L'ecriture correct :
- Code: Tout sélectionner
RewriteRule ^index-(.+)-(.+)-(.+)-(.+)\.html$ /index.php?var1=$1&var2=$2&var3=$3&var4=$s4 [L]
RewriteRule ^index-(.+)-(.+)-(.+)\.html$ /index.php?var1=$1&var2=$2&var3=$3 [L]
RewriteRule ^index-(.+)-(.+)\.html$ /index.php?var1=$1&var2=$2 [L]
RewriteRule ^index-([0-9]+)\.html$ /index.php?var1=$1 [L]
-

dorian53 - WRInaute passionné

- Messages: 2199
- Inscription: 10 Avr 2005
KOogar a écrit:si tu pointes une url du type :
index-10-20.html
il pointera sur la premiere redirection :
RewriteRule ^index-([0-9]+)\.html$ /index.php?var1=$1 [L]
et ne prendra pas en compte le second argument. Ton code sera mal interpreté.
Non je ne crois pas, ce masque [0-9] indique des numériques et non pas le tiret.
-

dorian53 - WRInaute passionné

- Messages: 2199
- Inscription: 10 Avr 2005
KOogar a écrit:La règle reste la même quelque soit les REGEXs.
Tu l'as trouve confuse car tu ne l'as pas comprise.
Allume ton serveur et fait des tests STP. Merci.
Enjoy life ;- )
KOogar
KOogar a écrit:si tu pointes une url du type :
index-10-20.html
il pointera sur la premiere redirection :
RewriteRule ^index-([0-9]+)\.html$ /index.php?var1=$1 [L]
et ne prendra pas en compte le second argument. Ton code sera mal interpreté.
Si ce qui tu mets là fonctionne, explique-moi comment tu fais s'il te plait ?
Sinon, je crois qu'il te manque un tiret...
dorian53 a écrit:Non je ne crois pas, ce masque [0-9] indique des numériques et non pas le tiret.
Avec ça [0-9-] c'est mieux.
- mikl194
- Nouveau WRInaute

- Messages: 21
- Inscription: 26 Déc 2006
Ca part dans tous les sens la ! Vous énervez pas les gars !
Donc je le disais, confus ou pas, ca marche tres bien comme ca :
RewriteRule ^index-(.+)-(.+)\.html$ /index.php?var1=$1&var2=$2 [L]
RewriteRule ^index-(.+)\.html$ /index.php?var1=$1 [L]
Par contre j'avais une autre petite question,
Est-ce qu'il est possible d'envoyé une variable à déja une page réécrite ?
Exemple:
Page réécrite : site-accueil.html
Page réécrite + var : site-accueil.html?var=1
Et, le [0-9] marche, peut etre mieux comme ca le [0-9-], mais en meme temps qu'est-ce qui est mieux entre quelque chose qui marche et quelque chose qui marche ?
Par contre le tiret entre le 0 et le 9 n'a rien à voir avec celui de la barre d'adresse, c'est simplement pour lui signaler que c'est du numérique...
Donc je le disais, confus ou pas, ca marche tres bien comme ca :
RewriteRule ^index-(.+)-(.+)\.html$ /index.php?var1=$1&var2=$2 [L]
RewriteRule ^index-(.+)\.html$ /index.php?var1=$1 [L]
Par contre j'avais une autre petite question,
Est-ce qu'il est possible d'envoyé une variable à déja une page réécrite ?
Exemple:
Page réécrite : site-accueil.html
Page réécrite + var : site-accueil.html?var=1
Et, le [0-9] marche, peut etre mieux comme ca le [0-9-], mais en meme temps qu'est-ce qui est mieux entre quelque chose qui marche et quelque chose qui marche ?
Par contre le tiret entre le 0 et le 9 n'a rien à voir avec celui de la barre d'adresse, c'est simplement pour lui signaler que c'est du numérique...
-

dorian53 - WRInaute passionné

- Messages: 2199
- Inscription: 10 Avr 2005
mikl194 a écrit:Ca part dans tous les sens la ! Vous énervez pas les gars !
Moi j'suis Zen et j'emploie le conditionnel plus haut, au cas où, hein on sait jamais (...) Voir...
mikl194 a écrit:Donc je le disais, confus ou pas, ca marche tres bien comme ca :
RewriteRule ^index-(.+)-(.+)\.html$ /index.php?var1=$1&var2=$2 [L]
RewriteRule ^index-(.+)\.html$ /index.php?var1=$1 [L]
Evidement que ça marche :) Voir...
mikl194 a écrit:Et, le [0-9] marche, peut etre mieux comme ca le [0-9-], mais en meme temps qu'est-ce qui est mieux entre quelque chose qui marche et quelque chose qui marche ?
Le plus optimisé, le plus performant.
mikl194 a écrit:Par contre le tiret entre le 0 et le 9 n'a rien à voir avec celui de la barre d'adresse, c'est simplement pour lui signaler que c'est du numérique...
Tout à fait ! Toi tu as compris. Voir...
mikl194 a écrit:Par contre j'avais une autre petite question,
Est-ce qu'il est possible d'envoyé une variable à déja une page réécrite ?
Tu ne mets pas [L] à la fin de ta règle pour continuer la ré-écriture.
17 messages
• Page 1 sur 2 • 1, 2
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 :
Consultez la description détaillée des produits ou services de Google suivants : Google goo.gl
- Analyse de popularité
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. - Transformer des simples citations de votre site en liens
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: alaincassis et 0 invités
