Comment marche le nvo forum?

Comment marche le nvo forum? - PHP - Programmation

Marsh Posté le 26-12-2003 à 14:37:40    

Salut à tous!
Je viens de remarquer que maintenant quand on cliquait sur un lien vers un topic, ça pointait vers une page html et non plus vers une page php avec des paramètres.
Comment ça marche? La page html est générée à chaque fois? ou elle existe une fois pour toute??
Bref j'aimerais comprendre comment ça marche et quel est l'intéret par rapport à avant?

Reply

Marsh Posté le 26-12-2003 à 14:37:40   

Reply

Marsh Posté le 26-12-2003 à 14:38:57    

l'interet je crois que c'est pour faire referencer des pages du forum sur un moteur de recherche.. [:sinclaire]


---------------
yvele n'est plus.
Reply

Marsh Posté le 26-12-2003 à 14:42:09    

et ça marche comment?

Reply

Marsh Posté le 26-12-2003 à 14:44:41    

Ca marche avec des pattes, sinon avec des roues ça roulerait... :)


---------------
On ne vit qu'une fois, mais pour qui sait vivre, une seule fois suffit (Merril Stubbing)
Reply

Marsh Posté le 26-12-2003 à 14:45:22    

ca s'appelle de l'url rewriting, je sais pas exactement comment ca marche alors pour pas dire de conneries, je m'abstiendrait de détails.

Reply

Marsh Posté le 26-12-2003 à 14:53:20    

c'est simplement le serveur qui traduit la page avant de la transmettre au script php sous l'ancienne forme.

Reply

Marsh Posté le 26-12-2003 à 14:57:08    

gizmo a écrit :

c'est simplement le serveur qui traduit la page avant de la transmettre au script php sous l'ancienne forme.


 
c'est pas une surcharge (inutile :??: ) pour le serveur?


---------------
IVG en france
Reply

Marsh Posté le 26-12-2003 à 14:58:34    

Pas inutile puisque ça permet de faire référencer les posts sur les annuaires/moteurs de recherche. Sinon oui, ca surcharge un peu, mais pratiquement rien du tout. (selon moi)


---------------
On ne vit qu'une fois, mais pour qui sait vivre, une seule fois suffit (Merril Stubbing)
Reply

Marsh Posté le 26-12-2003 à 15:04:48    

un bout d'article qui m'a aider à comprendre, en fait c'est tres simple:
 


Les réécritures d?URL sont le plus souvent utilisées pour présenter aux visiteurs une URL plus mnémotechnique ou pour permettre à certains moteurs d?indexer des pages dynamiques avec de nombreux paramètres qu?ils n?auraient pas visité sans réécriture.
Pour les robots d?indexation, la raison en est simple.
Dans le cas d?une URL dynamique du type article.php?num=12 , un moteur ne peut pas déterminer s?il ne va pas tomber dans une boucle sans fin. Un script article.php mal écrit - volontairement ou non - peut l?entraîner vers une multitude de pages satellites ne différant que par leur URL. C?est pour la même raison qu?ils n?indexent pas les pages avec des identifiants de session PHP, une même page étant retournée au navigateur avec une multitude d?identifiants de session différents.
 
Vous avez un site sur lequel vous présentez un catalogue en ligne. Sur ce site, chaque article comporte 2 pages, par exemple une page commerciale et une fiche technique.
De plus, les informations concernant l?article sont extraites d?une base de données, en se basant sur le numéro d?article.
Les URL des deux pages de l?article 8125 seront donc sous la forme (si votre script se nomme article.php) :
 
http://www.votresite.tld/article.php?numero=8125&page=1
http://www.votresite.tld/article.php?numero=8125&page=2
 
Vous préféreriez, et cela se comprend, que vos visiteurs accèdent à cet article par :
 
http://www.votresite.tld/article-8125-1.html
http://www.votresite.tld/article-8125-2.html
 
Analysons point par point comment réécrire cette règle toujours simple.
Nous voyons dans ces URL qu?elles contiennent deux parties variables : le numéro d?article et le numéro de page, tout le reste étant fixe comme le nom du script et le nom des variables.
La règle s?écrirait comme ceci :
 
RewriteEngine on
RewriteRule ^article-([0-9]+)-([0-9]+)\.html$  article.php?numero=$1&page=$2  [L]


 
edit: la regle ci dessus s'ecrivant dans le fichier .htacess


Message édité par uriel le 26-12-2003 à 15:07:05

---------------
IVG en france
Reply

Marsh Posté le 26-12-2003 à 15:04:55    

uriel a écrit :


 
c'est pas une surcharge (inutile :??: ) pour le serveur?

c'est le meme type de surchage pour afficher les smiley :o (expressions reguliere )
en tous cas comme l'as dis gizmo, il y a trés peu de moteur qui reference les url avec des variables.

Reply

Marsh Posté le 26-12-2003 à 15:04:55   

Reply

Marsh Posté le 28-12-2003 à 00:18:42    

hum, je suis pas sur d'avoir tout compris. Selon cet article il suffit de modifier le fichier .htacess et c'est tout ??
Mais est ce qu'on doit le modifier pour chaque script/page-dynamique de notre site ?
edit : autrement dit on devra refaire une ligne semblable pour chaque script ? :

Code :
  1. RewriteRule ^article-([0-9]+)-([0-9]+)\.html$  article.php?numero=$1&page=$2  [L]


Message édité par Big-Foot le 28-12-2003 à 00:19:41
Reply

Marsh Posté le 28-12-2003 à 00:23:28    

big-foot a écrit :

hum, je suis pas sur d'avoir tout compris. Selon cet article il suffit de modifier le fichier .htacess et c'est tout ??
Mais est ce qu'on doit le modifier pour chaque script/page-dynamique de notre site ?
edit : autrement dit on devra refaire une ligne semblable pour chaque script ? :

Code :
  1. RewriteRule ^article-([0-9]+)-([0-9]+)\.html$  article.php?numero=$1&page=$2  [L]



c'est par dossier .

Reply

Marsh Posté le 28-12-2003 à 00:37:13    

fabien a écrit :

c'est par dossier .
 


cad ?
par ex: domaine.com/forum ou /articles ?

Reply

Marsh Posté le 28-12-2003 à 00:38:20    

fabien a écrit :

c'est par dossier .
 


a mon avis, il a plutôt mis ca directement dans la config globale d'apache.

Reply

Marsh Posté le 28-12-2003 à 20:12:50    

c'est vachement interessant ca le mod_rewrite de apache, je me demandais depuis longtemps comment ca marchais, g testé pendant un moment et c cool mais pas hyper pratique
 
sinon pour les scripts je pense qu'il faut changer tout les liens html dans le code PHP


Message édité par mum le 28-12-2003 à 20:13:15
Reply

Marsh Posté le 28-12-2003 à 20:34:01    

mum a écrit :


sinon pour les scripts je pense qu'il faut changer tout les liens html dans le code PHP


mais pour les formulaires en "GET" on fait comment ?

Reply

Marsh Posté le 28-12-2003 à 20:35:54    

voici mon fichier text.php  
 

Code :
  1. <?
  2. echo "Aujourd'hui, nous somme le ". $_GET['date'] .". D'ailleurs, c'est le nom du repertoire dans la barre d'adresse...";
  3. echo "<br>";
  4. echo "Le nom du fichier html nous donne l'heure... a la seconde près, c dingue : " . $_GET['time'];
  5. ?>


 
et voici le contenu du fichier .htaccess (ss Apache2)

Code :
  1. RewriteEngine on
  2. RewriteRule (.*)/(.*)\.html$ text.php?date=$1&time=$2


 
 
en supposant que l'on a un formulaire form.htm qui envoye les données à text.php en GET
 
par ex >
 
text.php?date=12-10-2003&time=14:40
 
donne > http://localhost/12-10-2003/14:40.html
 
 
je ne reponds peut etre pas bien a ta question


Message édité par mum le 28-12-2003 à 20:39:56
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed