Nouveau WRInaute
Bonjour a tous,
Voila je voulais proposer un petit exemple de rewrite rules que j'utilise sur un de mes sites.
Ceci me permet d'obtenir des url assez propres du type http://url/module/categorie/id/ (categorie et id sont ici optionnels)
Je trouve cela assez propre personnellement.
Seulement voila, apres application je me suis appercu que tout mes sous-repertoires faisaient un "match" sur la rewriteRule. Mes images dans http://url/image/ n'etaient donc plus accessible.
Alors voila, apres un peu de lecture de la documentation apache j'ai trouver ca
Alors voila pour la petite explication, ici /path represente le document_root, l'instruction %{REQUEST_URI} contient /images/example.png lorsque vous appellez http://url/images/example.png. Ensuite le !-f, ici le -f sert pour verifier que le fichier existe, ou pas. Si il existe alors la rewriteRules qui suit est executee sinon ... elle ne l'est pas. Ici c'est exactement le schema inverse que je souhaitais donc j'ai rajouter le signe ! qui symbolise la negation
Pour obtenir un truc legerement plus pratique a utilise, j'utilise
Le code final de mes regles de rewrite est donc
Voila
J'espere avoir ete assez clair pour pouvoir me faire comprendre, je suis desole si le post est redondant mais cela ne semble pas etre le cas.
Bonne continuation
Voila je voulais proposer un petit exemple de rewrite rules que j'utilise sur un de mes sites.
Code:
RewriteRule ^([(a-zA-Z]+)/([a-zA-Z0-9]+)/([0-9]+)/ /index.php?mod=$1&cat=$2&id=$3 [L]
RewriteRule ^([(a-zA-Z]+)/([a-zA-Z0-9]+)/p([0-9]+)/ /index.php?mod=$1&cat=$2&page=$3 [L]
RewriteRule ^([(a-zA-Z]+)/([a-zA-Z0-9]+)/ /index.php?mod=$1&cat=$2 [L]
RewriteRule ^([(a-zA-Z]+)/ /index.php?mod=$1 [L]
Ceci me permet d'obtenir des url assez propres du type http://url/module/categorie/id/ (categorie et id sont ici optionnels)
Je trouve cela assez propre personnellement.
Seulement voila, apres application je me suis appercu que tout mes sous-repertoires faisaient un "match" sur la rewriteRule. Mes images dans http://url/image/ n'etaient donc plus accessible.
Alors voila, apres un peu de lecture de la documentation apache j'ai trouver ca
Code:
RewriteCond /path/%{REQUEST_URI} !-f
Alors voila pour la petite explication, ici /path represente le document_root, l'instruction %{REQUEST_URI} contient /images/example.png lorsque vous appellez http://url/images/example.png. Ensuite le !-f, ici le -f sert pour verifier que le fichier existe, ou pas. Si il existe alors la rewriteRules qui suit est executee sinon ... elle ne l'est pas. Ici c'est exactement le schema inverse que je souhaitais donc j'ai rajouter le signe ! qui symbolise la negation
Pour obtenir un truc legerement plus pratique a utilise, j'utilise
Code:
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f
Le code final de mes regles de rewrite est donc
Code:
RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f
RewriteRule ^([(a-zA-Z]+)/([a-zA-Z0-9]+)/([0-9]+)/ /index.php?mod=$1&cat=$2&id=$3 [L]
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f
RewriteRule ^([(a-zA-Z]+)/([a-zA-Z0-9]+)/p([0-9]+)/ /index.php?mod=$1&cat=$2&page=$3 [L]
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f
RewriteRule ^([(a-zA-Z]+)/([a-zA-Z0-9]+)/ /index.php?mod=$1&cat=$2 [L]
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_URI} !-f
RewriteRule ^([(a-zA-Z]+)/ /index.php?mod=$1 [L]
Voila
J'espere avoir ete assez clair pour pouvoir me faire comprendre, je suis desole si le post est redondant mais cela ne semble pas etre le cas.
Bonne continuation