Je me bloque au 4eme parametres, en mettant print_r($_GET), me donne le 3eme et le 4eme ensembleca marche aussi, sur quoi tu bloques ?
RewriteRule ^(\w+)\.html$ index.php?rub=$1 [L]
RewriteRule ^(\w+)-(\w+)\.html$ index.php?rub=$1&srub=$2 [L]
RewriteRule ^(\w+)-(\w+)-([\w\._-]+)\.html$ index.php?rub=$1&srub=$2&cat=$3 [L]
RewriteRule ^(\w+)-(\w+)-([\w\._-])-([\w\._-]+)\.html$ index.php?rub=$1&srub=$2&cat=$3&scat=$4 [L]
Je les ai mis tous comme ca: (\w+), et ca marche, je vais essayer de la compliquer un peutu refais la même erreur qui au début
ca va pas ca : ([\w\._-]+)
deja _ est inclus dans \w donc pas besion de la mettre et ensuite tu rajoutes des -, comment veux tu qu'il fasse la difference en un - qui separer les arguments et un - dans ton argument ?
si t'as absolument besoin de tiret dans tes arguments prendre un autre séparateur une virgule par exemple ou un slash
c'est mis en place depuis la version 2.0 (donc depuis un peu plus de 8 ans)Bonjour,
\w est une classe de caractères utilisée avec les expressions régulières PCRE.
Sauf si ça a changé depuis, RewriteRule ne connait que les expressions régulières POSIX.
donc => [A-Za-z0-9_] et pas \w
oui, au niveau de ta conception tu peux faire caEt si par exemple j'ai un lien du type:
index.php?rub=rub1&srub=srub1&page=1
et un autre lien du type:
index.php?rub=rub1&srub=srub1&id=1
le fichier htaccess prend en consideration le premier lien, parce qu'ils ont la meme forme d'ecriture
ca me donne le resultat de la page srub:oui, au niveau de ta conception tu peux faire ca
rub1-srub1-page-1 ou rub1-srub1-id-1
"page" et "id" seront un group de ton regexp
^(\w+)-(\w+)-(\w+)-(\w+).html$ index.php?rub=$1&srub=$2&$3=$4
RewriteRule ^(\w+)-(\w+)-(\w+)-(\w+)\.html$ index.php?rub=$1&srub=$2&$3=$4 [L]
voila mon code:y'a ta mis juste cette ligne la ou ta laissé les autres ?
RewriteRule ^(\w+)-(\w+)-(\w+)\.html$ index.php?rub=$1&srub=$2&cat=3&id=$4 [L]
RewriteRule ^(\w+)-(\w+)-(\w+)\.html$ index.php?rub=$1&srub=$2&cat=$3&page=$4 [L]
RewriteRule ^(\w+)-(\w+)-(\w+)-(\w+)\.html$ index.php?rub=$1&srub=$2&$3=$4 [L]
Ja'i rectifie cette erreur, il me reste a differencier entre id et page dans ce code:Et en testant j'ai commis une betise, j'ai utilise:
RewriteRule ^(\w+)-(\w+)-(\w+)\.html$ index.php?rub=$1&srub=$2&cat=$3 [R=301, L]
RewriteRule ^(\w+)-(\w+)-(\w+)\.html$ index.php?rub=$1&srub=$2&path=$3 [L]
Alors maintenant j'obtiens le chemin de ma page:
http://localhost/D:/monsite/xampp/htdoc ... s&cat=Doc1
RewriteRule ^(\w+)-(\w+)-(\w+)\.html$ index.php?rub=$1&srub=$2&cat=3&id=$4 [L]
RewriteRule ^(\w+)-(\w+)-(\w+)\.html$ index.php?rub=$1&srub=$2&cat=$3&page=$4 [L]