Page 1 sur 2

Url rewriting

Posté : 26 févr. 2005, 17:56
par Ouaibou
Bonjour,

J'ai décidé de me documenter sur l'url rewriting afin d'utiliser cette méthode pour certains de mes sites dynamiques. Mais je me suis aperçu que le sujet est très souvent, voir d'après mes rechercher, toujours traité sans exemple.

Aucun script de base permettant de comprendre le système à créer etc... Je me demande donc si c'est normal ? ou ais je si mal cherché ?

Quelqu'un aurait t'il un lien ou bien faut t'il acheter un livre ?

Merci d'avance.

Cordialement,
Laurent

merci de ne pas poser de questions dans le forum actualités, ce forum a juste pour sujet les actualités du php

Posté : 26 févr. 2005, 17:59
par renan44
j'étzais juste entrain de chercher la même chose que toi, et pareil, aucun exemple concret !
Dommage, si vous pouviez nous donnez un coup de main, il serait le bienvenue :wink:

Posté : 27 févr. 2005, 01:05
par cerber
c'est con, mais le meilleur tuto que je conaisse à l'heure actuelle c'est : http://httpd.apache.org/docs-2.0/misc/rewriteguide.html

Note. je débute moi aussi avec le rewriting => je peut dire une grosse bourde

Sinon, pour faire en francais et super simple :
Il faut activer le moteur de rewriting pour la zone d'effet (par exemple dans un .htaccess)

Code : Tout sélectionner

RewriteEngine on
Ensuite faut savoir que tu peux utliser tel ou telle règle en fonction du client, de l'environnement, ... avec la directive RewriteCond, mais je l'ai jamais utilisée

enfin le RewriteRule de base (sans les options)
faut savoir que les URLs sont relatives dans les regles, c'est a dire que si ton .htaccess est dans le répertoire /web/toto/ et qu'on appelle /web/toto/article4.php tu récupérera article4.php
donc ta regle pourrais devenir :

Code : Tout sélectionner

RewriteRule ^article([0-9]+).php article.php?id=$1
c'est un bête remplacement par expression régulière ;)

bon courage !

Posté : 27 févr. 2005, 11:25
par Ouaibou
Ehe ok merci j'vais jetter un oeil à ça dès que j'aurais un peu de temps ;)

Ps : C'est pas moi qui est mis le sujet dans actualité.

Posté : 27 févr. 2005, 19:29
par mere-teresa
pour ma part, je pose mes questions d'URL rewriting chez WebRankInfo - Forums

Posté : 27 févr. 2005, 21:41
par fab
Petite question sur le sujet , quand on utilise l'url rewriting rien ne change coté code ? car je suis en plein developpement d'un site ( bientot sur vos écrans j'espere ) et je voudrais savoir si il faut changer quelque chose ou on peut s'occuper de ça en dernier ?

Posté : 27 févr. 2005, 21:58
par Xenon_54
Tu dois coder ton script comme si tu n'utilisais pas l'URL rewriting. Mais, il faudra planifier le fait que tu devras peut-être modifier quelques liens générés par ton script afin de pouvoir profiter de cette réécriture.

Ensuite, tu commences à planifier son implantation. Cela ne veut pas dire que tu dois modifier la manière dont tu accèdes aux données mais les liens afin d'y accéder.

Exemple:
topic-525.php sera redirigié en fait vers viewtopic.php?t=525

Donc ton fichier d'origine (viewtopic.php) existe toujours et doit toujours accepté le paramètre t afin de récupérer le sujet. Je sais pas si tu comprends un peu le principe.

Article intéressant:
http://www.webmaster-hub.com/publication/article5.html

;)

Posté : 27 févr. 2005, 22:08
par fab
merci :) je sort ce soir ( quoi comme tous les soirs ) donc demain pour l'article

SPAM :et aussi pour mon article sur phpteam

Posté : 27 févr. 2005, 23:36
par Jerem'
Concrètement, est-ce qu'il est possible de le faire sans accès aux configurations du serveur ? Hébergement Online.net ou Free.fr par exemple ?

Posté : 27 févr. 2005, 23:58
par Xenon_54
Qu'entends-tu par accès aux configurations du serveur?

Si Apache a été compilé avec mod_rewrite (rewrite_module) et que l'administrateur t'a donné les droits d'utilisation des fichiers .htaccess, tu devrais alors avoir la possibilité d'utiliser l'URL rewriting.

Comme l'indique l'article suggéré plus haut, il suffit de tester. Une erreur 500 vous fixera sur le fait que vous n'avez pas accès à l'URL rewriting.

:)

Posté : 28 févr. 2005, 00:32
par Jerem'
Mon site est hébergé chez online.net donc j'ai aucun accès à la config d'apache c'est ce que je voulais dire :wink:

Je ferai des tests demain :)

Posté : 01 mars 2005, 09:29
par Ouaibou
Ehe vraiment pas mal l'article proposé par Xenon_54 ;)

thx

Posté : 01 mars 2005, 14:25
par mere-teresa
Pour tous

Posté : 02 mars 2005, 19:59
par Ouaibou
Re bonjour,

Hum, j'ai un p'tit problème :

Mon hébergeur accepte l'url rewriting. Je commence donc à faire quelques petits test et ça marche très bien.

Je précise que généralement mes liens sont du type :

Code : Tout sélectionner

index.php?cat=dossier&p=page index.php?p=page
Je converti donc avec l'url rewriting :

Code : Tout sélectionner

RewriteEngine On RewriteRule ^index,([a-z]+),([a-z]+)\.html$ index.php?cat=$1&p=$2 [L] RewriteRule ^index,([a-z]+)\.html$ index.php?p=$1 [L] RewriteRule ^index.html$ index.php [L]
Jusque là ça marche très bien, seulement si je viens à avoir un lien du type :

Code : Tout sélectionner

index.php?cat=classes&p=liste&id_categorie=id
Je rajoute donc le code suivant au .htaccess :

Code : Tout sélectionner

RewriteRule ^index,classes,liste#([0-9]+)\.html$ index.php?cat=classes&p=liste&id_categorie=$1 [L]
Seulement voila une fois que je teste mon lien :
index,classes,liste#id.html

Ca m'affiche une erreur 404 ce qui signifie que mon code marche pas. Je penses que ça vient du fait que j'ai déclaré une réécriture contenant déjà les cat et les p. Seulement je ne sais comment m'y prendre pour que ça marche.

Quelqu'un a t'il déjà été confronté à ce problème ? a t'il une idée ?

Je suis preneur :wink:

Merci

@+

Posté : 07 mars 2005, 00:46
par fab
J'ai eu beau lire la doc etc.. quelqu'un sait comment convertir
http://www.toto.com/index.php?page=support
en http://support.toto.com ?