Webmaster Hub: Script de rewriting - Webmaster Hub

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Script de rewriting Un peu d'aide siouplé :) Noter : -----

#1 L'utilisateur est hors-ligne   Jok 

  • Groupe : Membre
  • Messages : 193
  • Inscrit(e) : 28-mars 04
  • Localisation:Paris
  • Société:Ypok

Posté 28 mars 2004 - 21:14

Bonjour tout le monde,
J'ai récement appris l'existance de l'url rewriting....je suis en train de le mettre en place sur mon site, mais je bloque sur l'affichage de mes news....qui ne peut codé en dur...
J'ai mes news qui sont dispo ici
/n/news1.php
/n/news2.php
.......

Comment je dois faire le script d'url rewriting pour qu'il m'affiche
/news1.html
/news2.html

Le tout "dynamiquement" si je puis me dire....
Genre si je rajoute une news, j'ai pas besoin d'éditer mon htaccess pour rajouter la ligne qui va bien...

Vous m'avez compris ?
Merci de vos réponses.... :whistling:
¤ Des articles, des aides, des scripts .... le tout disponible sur mon site, venez faire un tour :)
¤ Betagged, le portail que vous personnalisez avec votre vie numérique
0

#2 L'utilisateur est hors-ligne   Dan 

  • Webmaster
  • Voir le blog
  • Voir la galerie
  • Groupe : Direction
  • Messages : 22 944
  • Inscrit(e) : 18-août 03
  • Genre:Homme
  • Localisation:St Anne, Alderney
  • Société:Webmaster Hub Ltd.

Posté 29 mars 2004 - 08:00

Salut Joker Noir,

C'est très simple, il suffit d'une règle, si toutes tes news sont dans le répertoire "n" :

Citation

RewriteEngine on
RewriteRule news([0-9]+)\.html$  n/news$1.php [L]

Par contre, pour éviter les problèmes de liens relatifs non résolus à cause du changement apparent de répertoire, je te suggère d'utiliser la balise <base href="..."> dans les scripts php de news.

Voir les explications dans l'article: Mod_rewrite, ou la réécriture des URL "à la volée"

Dan
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Si la pratique et la théorie sont réunies, rien ne fonctionne et on ne sait pas pourquoi. - Albert Einstein -
Infogérance de serveurs dédiés OVH
0

#3 L'utilisateur est hors-ligne   Jok 

  • Groupe : Membre
  • Messages : 193
  • Inscrit(e) : 28-mars 04
  • Localisation:Paris
  • Société:Ypok

Posté 29 mars 2004 - 10:46

Bouuuuuuh on a changé mon pseudo :mellow:
Bref, merci Dan de ta réponse ;)

De trois trucs que je voudrai eclaircir.....:
([0-9]+) -> toutes les chiffres possibles, c'est bien ça ?
n/news$1.php -> le $1 reprends le nombre que l'on vient de calculer juste avant....?

Ensuite j'ai pas bien cerner ton histoire de lien relatif...... :wacko:
¤ Des articles, des aides, des scripts .... le tout disponible sur mon site, venez faire un tour :)
¤ Betagged, le portail que vous personnalisez avec votre vie numérique
0

#4 L'utilisateur est hors-ligne   Dan 

  • Webmaster
  • Voir le blog
  • Voir la galerie
  • Groupe : Direction
  • Messages : 22 944
  • Inscrit(e) : 18-août 03
  • Genre:Homme
  • Localisation:St Anne, Alderney
  • Société:Webmaster Hub Ltd.

Posté 29 mars 2004 - 10:59

Salut Joker Noir,

Oui, c'est moi le coupable pour ton pseudo. Comme expliqué dans le message que je t'ai envoyé, on essaye d'éviter la "mode" qui consiste à m3lAnG3r les majuscules/minuscules/chiffres... parce que c'est extrèmement pénible pour ceux qui veulent communiquer avec toi ;)

([0-9]+) veut dire n'importe quelle combinaison d'au moins un chiffre (a cause du signe +)

Et effectivement, le $1 est ce qu'on appelle une "back reference" ou "référence arrière" qui correspond à la première expression entre ( ) dans la première partie.
On peut utiliser de $1 a $9 , ce qui permet pas mal de choses.

Tu as toutes les explications dans l'article sur Mod8rewrite cité plus haut ;), y compris celle sur les "répertoires virtuels".
En deux mots, le fait d'avoir une réécriture ou le répertoire apparent n'est pas le même dans les 2 termes de l'expression crée un répertoire virtuel (fait croire à ton navigateur qu'il est dans un autre répertoire)... donc les liens relatifs ne fonctionneront pas sauf si on utilise la balise <base ...>

Dan
La théorie, c'est quand on sait tout et que rien ne fonctionne. La pratique, c'est quand tout fonctionne et que personne ne sait pourquoi.
Si la pratique et la théorie sont réunies, rien ne fonctionne et on ne sait pas pourquoi. - Albert Einstein -
Infogérance de serveurs dédiés OVH
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)