Mod_Rewrite

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Mod_Rewrite

Re: Mod_Rewrite

par Fredy07 » 09 juil. 2010, 20:55

Merci stealth35 =D>
desole pour le derangement =P~

Re: Mod_Rewrite

par stealth35 » 05 juil. 2010, 22:01

Aide pour reecrire cette URL:
RewriteRule ^(\w+)-(\w+)-(\w+)-Listen-(\w+)\.html$ index.php?rub=$1&srub=$2&cat=$3&action=$4&id_rec=$5 [L]
Resultat:

Array ( [rub] => Video [srub] => Chansons [cat] => Fred [action] => 1 [id_rec] => )

Alors je voudrais avoir comme suite:
Video-Chansons-Fred-Listen-1.html
pour t'aider :
http://gskinner.com/RegExr/

(onglet replace)

Re: Mod_Rewrite

par Fredy07 » 05 juil. 2010, 20:51

Aide pour reecrire cette URL:
RewriteRule ^(\w+)-(\w+)-(\w+)-Listen-(\w+)\.html$ index.php?rub=$1&srub=$2&cat=$3&action=$4&id_rec=$5 [L]
Resultat:

Array ( [rub] => Video [srub] => Chansons [cat] => Fred [action] => 1 [id_rec] => )

Alors je voudrais avoir comme suite:
Video-Chansons-Fred-Listen-1.html

Re: Mod_Rewrite

par Fredy07 » 01 juil. 2010, 19:18

faut faire une adresse type

machine-truc-id-5
machine-truc-page-2
comme ca?
RewriteRule ^(\w+)-(\w+)-(id)-(\w+)\.html$ index.php?rub=$1&srub=$2&cat=3&-id-&id=$4 [L]

Re: Mod_Rewrite

par stealth35 » 01 juil. 2010, 00:32

faut faire une adresse type

machine-truc-id-5
machine-truc-page-2

Re: Mod_Rewrite

par Fredy07 » 29 juin 2010, 21:06

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
Ja'i rectifie cette erreur, il me reste a differencier entre id et page dans ce code:
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]

Re: Mod_Rewrite

par Fredy07 » 28 juin 2010, 21:22

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

Re: Mod_Rewrite

par Fredy07 » 28 juin 2010, 14:16

y'a ta mis juste cette ligne la ou ta laissé les autres ?
voila mon code:
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]

Re: Mod_Rewrite

par stealth35 » 28 juin 2010, 11:45

y'a ta mis juste cette ligne la ou ta laissé les autres ?

Re: Mod_Rewrite

par Fredy07 » 27 juin 2010, 18:02

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
ca me donne le resultat de la page srub:
RewriteRule ^(\w+)-(\w+)-(\w+)-(\w+)\.html$ index.php?rub=$1&srub=$2&$3=$4 [L]

Re: Mod_Rewrite

par stealth35 » 27 juin 2010, 13:12

Et 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
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

Re: Mod_Rewrite

par Fredy07 » 27 juin 2010, 11:02

Et 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

Re: Mod_Rewrite

par stealth35 » 21 juin 2010, 10:28

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
c'est mis en place depuis la version 2.0 (donc depuis un peu plus de 8 ans) :wink:

Re: Mod_Rewrite

par blof » 21 juin 2010, 05:32

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

Re: Mod_Rewrite

par Fredy07 » 19 juin 2010, 21:16

tu 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
Je les ai mis tous comme ca: (\w+), et ca marche, je vais essayer de la compliquer un peu