Coder de maniere unique chaque enregistrement

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

achaternet
WRInaute impliqué
WRInaute impliqué
 
Messages: 256
Inscription: Mar Fév 11, 2003 12:44

Coder de maniere unique chaque enregistrement

Message le Jeu Jan 15, 2004 1:42

Bonsoir,

un exemple est tj plus parlant:

-www.toto.com/nom-promenons_nous_dans_les_bois_pendant_que_le_loup.html

:arrow: -www.toto.com/nom-xkz47oup6.html
ou
:arrow: -www.toto.com/xkz47oup6.html , peu importe .

Tout cela genere par UR chaque nom de maniere UNIQUE

Comment puis-je faire cela?

thks

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Re: Coder de maniere unique chaque enregistrement

Message le Jeu Jan 15, 2004 8:23

Je dirais que la directive RewriteMap est ta nouvelle amie. Ca risque d'être un poil lourd si tu utilises ca dans un .htaccess, mais à toi de voir.

Le plus simple est de passer par un fichier texte dans lequel tu écris toutes les correspondances que tu veux faire :
Code: Tout sélectionner
##
## correspondances
##

nom-promenons_nous_dans_les_bois_pendant_que_le_loup.html nom-xkz47oup6.html

et les règles d'UR vont chercher le fichier adéquat
Code: Tout sélectionner
RewriteMap correspondances txt:/chemin/vers/rewritemap.txt
RewriteCond ${correspondances :$1|NOT-FOUND} !=NOT-FOUND
RewriteRule ^(.*)$ ${correspondances:$1} [L]


Ca, c'est pour un .htaccess à la racine. Pour un httpd.conf, il faut le modifier un peu, avec par exemple
Code: Tout sélectionner
RewriteMap correspondances txt:/chemin/vers/rewritemap.txt
RewriteCond ${correspondances :$1|NOT-FOUND} !=NOT-FOUND
RewriteRule ^/(.*)$ ${correspondances:$1} [L]

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Jeu Jan 15, 2004 8:33

Correction, on ne peut apparemment pas déclarer une directive RewriteMap dans un .htaccess, il faut la mettre dans la conf de base ou du vhost. Les autres directives restent en l'état.

Doc Apache a écrit:While you cannot declare a map in per-directory context it is of course possible to use this map in per-directory context.

achaternet
WRInaute impliqué
WRInaute impliqué
 
Messages: 256
Inscription: Mar Fév 11, 2003 12:44

Message le Jeu Jan 15, 2004 10:43

zut :cry:

En plus, un fichier texte de correspondance, ca me plait pas trop, car il faudrait ainsi que je rentre chaque enregistrement et sa correspondance dedans -> gros fichier !
Et pour les nouveaux, bon c est pas trop un pb, il faudrait ouvrir le fichier, se mettre a la fin, et ajouter la correspondance pour le nouvel enregistr.

D autre idees :?:

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Jeu Jan 15, 2004 10:51

Il va bien falloir que u indiques les correspondances quelque part, non? Ou il y a quelque chose que je n'ai pas compris?
Par ailleurs, un fichier texte comme ca, ca se génère, surtout si tu les as dans une base de données.

Tu peux aussi tenter une variante du RewriteMap qui portera sur un programme plutôt qu'un fichier texte. C'est dans la doc sus-citée, à l'onglet External Rewriting Program. Attention, c'est assez périlleux.

achaternet
WRInaute impliqué
WRInaute impliqué
 
Messages: 256
Inscription: Mar Fév 11, 2003 12:44

Message le Jeu Jan 15, 2004 11:35

Si si, tu as bien compris :)

Pour voir contraitement un exemple avec aspx:

http://www.i-comparateur.com/comparer-p ... 0016b0.htm

On doit pouvoir faire de meme en php, nan ??

achaternet
WRInaute impliqué
WRInaute impliqué
 
Messages: 256
Inscription: Mar Fév 11, 2003 12:44

Message le Jeu Jan 15, 2004 11:45

nikoshr a écrit:Il va bien falloir que u indiques les correspondances quelque part, non?


Pas forcement.

Imaginon que ce soit des chiffres.

-www.toto.com/4512.html que je veux transformer en
-www.toto.com/9024.html

-www.toto.com/2123.html -> -www.toto.com/4246.html

Cela est bien code de maniere unique, par le fait d appliquer l algo simple de multiplier par 2, sans pour autant faire de correspondance dans un fichier.

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Jeu Jan 15, 2004 12:17

Dans ce cas là, tu mets juste une règle qui renvoie systématiquement vers un fichier php (avec des condition ad hoc pour limiter à une structure claire)
Code: Tout sélectionner
RewriteRule ^nom-(.*)\.html$ correspondance.php?file=$1 [L]

et dans le fichier tu inclues le contenu correspondant (en ayant multiplié par deux le nom de fichier, si tu veux :) ). Ca t'irait comme ca?

achaternet
WRInaute impliqué
WRInaute impliqué
 
Messages: 256
Inscription: Mar Fév 11, 2003 12:44

Message le Jeu Jan 15, 2004 13:33

Cette regle me convient; c est grossierement celle ci que je prevoyai de faire.

Neanmoins, je ne sais toujours pas quel algo pour convertir mes pages de facon UNIQUE et que les pages ainsi codees soit plus courte ( car c ca mon but, passer de plus de 255 caracteres a qq caracteres seulement)

La, dans le dernier exemple c etait va des chiffres, avec le fait de multiplier par 2.

Par contre pour :

-www.toto.com/nom-promenons_nous_dans_les_bois_pendant_que_le_loup.html

-www.toto.com/nom-xkz47oup6.html

C est une autre histoire... ( le petit chaperon rouge :lol: :lol: )

ca n existe pas une fonction php qui fait ca?

Ou meme un script, peu importe. J' ai bien constate que c etait faisable en ASP, PERL pq pas en php??

achaternet
WRInaute impliqué
WRInaute impliqué
 
Messages: 256
Inscription: Mar Fév 11, 2003 12:44

Message le Sam Jan 17, 2004 12:31

Personne n a d idee :cry:

En fait, il me faudrait une methode d encryptage/decryptage php, un peut comme mdp5 pour le codage des mots de pass. (sachant de mdp5, lui, il genere une chaine plus longue et moi je veux l inverse)

nikoshr
WRInaute impliqué
WRInaute impliqué
 
Messages: 320
Inscription: Jeu Juil 10, 2003 5:49

Message le Sam Jan 17, 2004 18:36

A tout hasard, gzcompress et gzuncompress

achaternet
WRInaute impliqué
WRInaute impliqué
 
Messages: 256
Inscription: Mar Fév 11, 2003 12:44

Message le Sam Jan 17, 2004 19:30

Merci de toutes tes reponses ;)

mais j 'ai cherche un peu toute sorte de solution, dont la compression zip...

Mais c pas top!

Avoir mes urls comme ca: -www.toto.com/±ý‗☻.html,

ça le fait pas :lol:

achaternet
WRInaute impliqué
WRInaute impliqué
 
Messages: 256
Inscription: Mar Fév 11, 2003 12:44

Message le Sam Jan 17, 2004 19:40

:idea:

Bon, j ai trouvé :D

Il faut travailler sur les modulo, ou base 16,32.. en transformant chaque caractere.

ca va le faire.

Ouf


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 :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités