Page 1 sur 1
URL rewriting
Posté : 13 avr. 2008, 19:01
par guillaume40
Bonjour,
Je ne savais pas trop où posté donc j'ai mis ici.
Donc j'aimerai savoir si sur de l'URL rewriting il y a des moyens pour par exemple
J'ai une URL du type :
http://site.com/?page=accueil&mode=check&id=13
De faire une URL du genre
http://site.com/accueil/check/13
Mais dans le cas où un argument serai absent disont il n'y a pas de mode = check
Que sa fasse une url du genre
ttp://site.com/accueil/13
Sans avoir à créer plusieurs lignes
SI je fais
RewriteRule ^(.*)/(.*)/([0-9]+)$ /index.php?page=$1&mode=$2&id=$3 [L]
Merci d'avance
Re: URL rewriting
Posté : 13 avr. 2008, 21:51
par Victor BRITO
Essaie ce .htaccess
Code : Tout sélectionner
RewriteEngine on
Options +FollowSymlinks
RewriteRule ^([a-z]+)/([a-z]*)/([0-9]+)$ /?page=$1&mode=$2&id=$3 [L]
RewriteRule ^([a-z]+)/([0-9]+)$ /?page=$1&id=$2 [L]
En codant de la règle la plus complexe à la plus simple (ainsi on évite la plupart des conflits possibles).
Et n'oublie pas de vérifier que les liens dans le site sont bien les URLs réécrites.

Posté : 13 avr. 2008, 22:04
par zeus
Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "Autre".
Re: URL rewriting
Posté : 13 avr. 2008, 22:07
par hakazizi
Essaie ce .htaccess
Code : Tout sélectionner
RewriteEngine on
Options +FollowSymlinks
RewriteRule ^([a-z]+)/([a-z]*)/([0-9]+)$ /?page=$1&mode=$2&id=$3 [L]
RewriteRule ^([a-z]+)/([0-9]+)$ /?page=$1&id=$2 [L]
En codant de la règle la plus complexe à la plus simple (ainsi on évite la plupart des conflits possibles).
Et n'oublie pas de vérifier que les liens dans le site sont bien les URLs réécrites.

il faut préciser "index.php" dans le rewritte.
et la lettre dans les crochet est differente si il y a une ou plusieur variable
[QSA,L] pour une et
[L] quand il y en a plusieurs
Posté : 14 avr. 2008, 00:39
par albat
J'ai un doute...
Le
[L] ne doit-il pas être réservé pour la dernière ligne de règles de réécriture ?

Posté : 14 avr. 2008, 03:46
par Sékiltoyai
Il indique que on s'arrête si la règle match, donc il peut être utilisé sur plusieurs règles si elles sont exclusives…
Posté : 14 avr. 2008, 07:17
par Cyrano
Le [L] peut être assimilé au "break" dans un switch : si une règle correspond, on sort de la phase vérification.
Posté : 14 avr. 2008, 08:51
par albat
Merci.
