Auteur Sujet: [RESOLU] Question sur modification URL  (Lu 5592 fois)

0 Membres et 1 Invité sur ce sujet

Hors ligne Lebanner

  • Habitué
  • **
  • Messages: 124
    • Spartan Fight
[RESOLU] Question sur modification URL
« le: 04 janvier 2009 à 16:01:24 »
Salut,

J'ai mes URL qui sont de la forme :

http://www.jjb-france.com/K-1/affiche_fighter_k1.php?Num_fighter_k1=80

Au lieu d'avoir cela, j'aimerais avoir l'URL :

http://www.jjb-france.com/K-1/Profil_Palmares_Jerome_Lebanner

et qui pointe sur le même ID.

Est ce faisable en PHP et si oui quelle est la marche à suivre ?

Merci d'avance pour vos conseils
« Modifié: 14 janvier 2009 à 16:13:14 par Lebanner »

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : Question sur modification URL
« Réponse #1 le: 08 janvier 2009 à 10:52:15 »
Salut lebanner,

Bonne année 2009 ^^ !

C'est faisable en exploitant les possibilité du serveur Apache en matière d'URL Rewrite (via un fichier .htaccess) et un script PHP qui va faire le lien entre le nom du combattant et son identifiant.

Hit google pour URL Rewrite, ce sera un bon début.

Bon courage !
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/

Hors ligne Lebanner

  • Habitué
  • **
  • Messages: 124
    • Spartan Fight
Re : Question sur modification URL
« Réponse #2 le: 08 janvier 2009 à 13:09:39 »
Salut,

Merci de tes indications !
Je vais suivre un tuto et je devrai bien y arriver sinon je te demanderai lol

Hors ligne Lebanner

  • Habitué
  • **
  • Messages: 124
    • Spartan Fight
Re : Question sur modification URL
« Réponse #3 le: 13 janvier 2009 à 13:39:04 »
Salut,

ça marche nikel.

Au lieu d'avoir :

http://www.jjb-france.com/K-1/affiche_fighter_k1.php?Num_fighter_k1=80

J'ai :

http://www.jjb-france.com/K-1/Combattant-80.php

Maintenant je souhaite remplacer dans l'URL "Combattant" par le nom et le prénom du combattant.

Dans le fichier htaccess.fi je peux mettre des requêtes SQL pour faire le lien entre le nom du combattant et son identifiant ??

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : Question sur modification URL
« Réponse #4 le: 13 janvier 2009 à 13:51:39 »
Salut Lebanner,

Non tu ne peux pas.
Mais tu n'en a logiquement pas besoin.
Puisque c'est
http://www.jjb-france.com/K-1/Combattant-80.phpqui redirige sur
http://www.jjb-france.com/K-1/affiche_fighter_k1.php?Num_fighter_k1=80
Et non l'inverse.

C'est donc dans tes pages que tu dois appeler des URL explicite type /K-1/jerome_lebanner-80

Copie/colle le contenu de ton HTACCESS si tu ne vois pas comment faire.
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/

Hors ligne Lebanner

  • Habitué
  • **
  • Messages: 124
    • Spartan Fight
Re : Question sur modification URL
« Réponse #5 le: 13 janvier 2009 à 13:57:00 »
Merci Just

Voici la partie de mon htaccess.fi qui contient les redirections :

# Le serveur doit suivre les liens symboliques :
Options +FollowSymlinks

# Activation du module de réécriture d'URL :
RewriteEngine On

# Règles de réécriture d'URL pour les évènements MMA :
RewriteRule ^MMA/Event-([0-9]*)\.php$ /MMA/affiche_event.php?Num_event=$1 [L]

# Règles de réécriture d'URL pour les évènements K-1 :
RewriteRule ^K-1/Event-([0-9]*)\.php$ /K-1/affiche_event_k1.php?Num_event_k1=$1 [L]

# Règles de réécriture d'URL pour les combattants MMA :
RewriteRule ^MMA/Combattant-([0-9]*)\.php$ /K-1/affiche_fighter.php?Num_fighter=$1 [L]

# Règles de réécriture d'URL pour les combattants K-1 :
RewriteRule ^K-1/Combattant-([0-9]*)\.php$ /K-1/affiche_fighter_k1.php?Num_fighter_k1=$1 [L]

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : Question sur modification URL
« Réponse #6 le: 13 janvier 2009 à 14:03:51 »
Donc ça pourrait donner :
# Le serveur doit suivre les liens symboliques :
Options +FollowSymlinks

# Activation du module de réécriture d'URL :
RewriteEngine On

# Règles de réécriture d'URL pour les évènements MMA :
RewriteRule ^MMA/Event-([0-9]+)$ /MMA/affiche_event.php?Num_event=$1 [L]

# Règles de réécriture d'URL pour les évènements K-1 :
RewriteRule ^K-1/Event-([0-9]+)$ /K-1/affiche_event_k1.php?Num_event_k1=$1 [L]

# Règles de réécriture d'URL pour les combattants MMA :
RewriteRule ^MMA/(?=[a-zA-Z0-9_]+?)-([0-9]+)$ /K-1/affiche_fighter.php?Num_fighter=$1 [L]

# Règles de réécriture d'URL pour les combattants K-1 :
RewriteRule ^K-1/(?=[a-zA-Z0-9_]+?)-([0-9]+)$ /K-1/affiche_fighter_k1.php?Num_fighter_k1=$1 [L]

Dans cette exemple le nom du combattant dans l'URL ne doit comporté que des caractères alphanumérique de base (non accentué, hors caractères spéciaux) ou des "_".
J'en ai profité pour enlever les extensions "php"... ça n'a plus d'aspect fonctionnel dans ta réécriture.
J'ai aussi légèrement précisé tes regexp [remplacement de "*" par "+"] (source : http://www.expreg.com/).

Bon courage.
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/

Hors ligne Lebanner

  • Habitué
  • **
  • Messages: 124
    • Spartan Fight
Re : Question sur modification URL
« Réponse #7 le: 13 janvier 2009 à 14:08:24 »
Super !
Je vais tester ça et je te tiens au courant.

Hors ligne Lebanner

  • Habitué
  • **
  • Messages: 124
    • Spartan Fight
Re : Question sur modification URL
« Réponse #8 le: 13 janvier 2009 à 17:52:05 »
Par exemple pour mon combattant MMA, quelle doit etre l'URL alors :

Le mec s'appelle Chuck Liddell et son id est 2.

http://www.jjb-france.com/MMA/chuckliddell-2
http://www.jjb-france.com/MMA/chuck_liddell-2

J'ai essayé les 2 juste pour faire un test après avoir modifié mon fichier htaccess.fi comme tu me l'a mis :

RewriteRule ^MMA/(?=[a-zA-Z0-9_]+?)-([0-9]+)$ /MMA/affiche_fighter.php?Num_fighter=$1 [L]

Aucun des 2 ne fonctionne ...

Cela m'affiche ma page 404.
J'ai du oublié une étape.

Là j'ai juste modifié le htaccess.fi je n'ai rien touché d'autre, je veux juste faire un test d'URL.
Là ça marche pour afficher mes évènements.

Merci d'avance.
« Modifié: 13 janvier 2009 à 18:45:42 par Lebanner »

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : Question sur modification URL
« Réponse #9 le: 14 janvier 2009 à 11:30:26 »
C'est surtout moi qui ai du me gourer dans mon expression régulière ^^.
Bon déjà l'adresse correcte serait :
http://www.jjb-france.com/MMA/chuck_liddell-2
Pour info le nom du combattant n'est là que pour faire jolie en faites ^^.
Il n'est absolument pas exploité pour retrouver les infos du combattant, c'ets le num qui est exploité pour ça.

Peux tu me donner le détails du 404 qui t'es affiché stp ?
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/

Hors ligne Lebanner

  • Habitué
  • **
  • Messages: 124
    • Spartan Fight
Re : Question sur modification URL
« Réponse #10 le: 14 janvier 2009 à 12:17:04 »
Ben en fait ma page 404 est personnalisée.....

Sinon en enlevant ma page perso j'ai ça :

Not Found

The requested URL /MMA/chuck_liddell-2 was not found on this server.
Apache/2.2.8 (Unix) mod_vdbh/1.0.3 mod_ssl/2.2.8 OpenSSL/0.9.8c PHP/5.2.8 Server at www.jjb-france.com Port 80

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : Question sur modification URL
« Réponse #11 le: 14 janvier 2009 à 16:02:59 »
Donc c'ets confirmé... c'est ma regexp qui est pourrie :x.

On se la refait, moins crispé :D.
Essaye ça stp :
RewriteRule ^MMA/[a-zA-Z0-9_]+-([0-9]+)$ /MMA/affiche_fighter.php?Num_fighter=$1 [L]
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/

Hors ligne Lebanner

  • Habitué
  • **
  • Messages: 124
    • Spartan Fight
[RESOLU] Re : Question sur modification URL
« Réponse #12 le: 14 janvier 2009 à 16:13:01 »
Et voilà ça marche parfaitement !

Merci bien. La décrispation a bien fonctionné...

Hors ligne Just

  • Expert
  • ****
  • Messages: 924
    • AiN-IRC LE portail du 01 [Ain]!
Re : [RESOLU] Question sur modification URL
« Réponse #13 le: 14 janvier 2009 à 16:23:32 »
Ravis que ça fonctionne :).
Bonne continuation.
Just OnMyOwn ... :B
"Be CoOl, KeEp CoOl, HaVe FuN!"
-
http://www.ain-irc.net/
http://www.funpart.net/

Hors ligne Lebanner

  • Habitué
  • **
  • Messages: 124
    • Spartan Fight
Re : [RESOLU] Question sur modification URL
« Réponse #14 le: 18 janvier 2009 à 09:10:34 »
Salut,

J'ai ce code :

RewriteRule ^MMA/[a-zA-Z0-9_]+-([0-9]+)$ /MMA/affiche_fighter.php?Num_fighter=$1 [L]

Comment faire pour dire : si ça contient des alpha numériques et des tirets ? (car j'ai pas mal de titre qui contiennent aussi des "-")

Pour les caractères de ponctuation c'est : [!-/:-@[-'{-~]

J'ai essayé pas mal de combinaison mais aucune marche.
RewriteRule ^MMA/[a-zA-Z0-9_]+[!-/:-@[-'{-~]+-([0-9]+)$ /MMA/affiche_fighter.php?Num_fighter=$1 [L] ==> marche pas

J'ai pas trouvé sur le net ma solution...

Merci d'avance
« Modifié: 19 janvier 2009 à 08:41:09 par Lebanner »