problème d'url_rewriting

p4bl0

Membre expert
Club iGen
12 Juillet 2004
4 772
423
34
$PWD
p4bl0.net
Bonjour !

Voilà le contenu de mon .htaccess
Bloc de code:
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule (-f) $1 [L]
RewriteRule ^([a-zA-Z0-9_,':-]+)/?$ index.php?page=$1 [NC,L]
RewriteRule ^([a-zA-Z0-9_,':-]+)/([a-zA-Z0-9_,+'\.:-]+)/?$ index.php?page=$1&arg=$2 [NC,L]

le problème c'est que les flag [L] ne sont pas respectés ! :(

normalement quand la première condition est rempli (que le fichier existe et que donc on laisse l'url tel quel) ça arrête d'essayer de réécrire l'url.

Mais le problème c'est que ça continu, et que la 3ème RewriteRule est aussi valide pour un fichier d'un sous répertoire (par exemple ça match "images/machin.png" et à la palce de chercher l'image, ça cherche "index.php?page=images&arg=machin.png donc aucune image ne peut s'afficher !)

quelqu'un sait comment faire pour que le [L] soit respecté ??


merci :zen:
 
euh j'ai jamais trop utilisé l'urlrewriting mais de mémoire d'après les cours que j'avai eu, on utilisait -f sur une autre commande
..
comme ca :

Bloc de code:
RewriteCond tonfichier -f
#si condition valide (ie le fichier existe) on réécrit son url: 
RewriteRule ... [L] 
#sinon on saute la ligne précédente et on continue sur d'autres réecritures
RewriteRule ... [L]
 
Zeusviper a dit:
euh j'ai jamais trop utilisé l'urlrewriting mais de mémoire d'après les cours que j'avai eu, on utilisait -f sur une autre commande
..
comme ca :

Bloc de code:
RewriteCond tonfichier -f
#si condition valide (ie le fichier existe) on réécrit son url: 
RewriteRule ... [L] 
#sinon on saute la ligne précédente et on continue sur d'autres réecritures
RewriteRule ... [L]
ah ok ...

mais du coup est ce que je peux vérifier que l'url pointe sur un vrai fichier ??
"tonfichier" c'est forcément à écrire directement dans le .htaccess ou ça peux être ne fonction de l'url ??
 
truk2oof a dit:
ah ok ...

mais du coup est ce que je peux vérifier que l'url pointe sur un vrai fichier ??
"tonfichier" c'est forcément à écrire directement dans le .htaccess ou ça peux être ne fonction de l'url ??
bon je me suis débrouiller autrement...
Bloc de code:
Options +FollowSymlinks
RewriteEngine on
RewriteBase /
RewriteRule ^.*\.(jpg|png|css|php|html|txt)$ - [L]
RewriteRule ^(images|css)/?.*$ - [L]
RewriteRule ^([a-zA-Z0-9_,':-]+)/([a-zA-Z0-9_,+\.':-]+)/?$ index.php?page=$1&arg=$2 [NC,L]
RewriteRule ^([a-zA-Z0-9_,':-]+)/?$ index.php?page=$1 [NC,L]
 
tatouille a dit:
si tu veux proteger les noms de fichier tu le peux aussi
tu peux rewrite l'appel du nom.png par session_id.png

:zen:
Non c'est bon.

en fait ce que je voulais faire, c'est de pouvoir mettre des . dans l'url.
mais du coup la regexp match aussi pour les nom de fichiers et les images et feuille de style etc ça marchais pas.

exemple :
http://machin/bidule/truc_:_nouvelle_version_51.42
ça c'est réécrit en :
http://machin/index.php?page=bidule&arg=truc_:_nouvelle_version_51.42

mais du coup http://machin/images/uneimage.png et http://machin/css/mise_en_page.css
étaient transformés en http://machin/index.php?page=images&arg=uneimage.png et http://machin/index.php?page=css&arg=mise_en_page.css

mais je ne voulais évidemment pas ça !
Donc si c'est un fichier je veux pas que de réécriture soit effectué...

la c'est bon mais du coup faut pas que met url non fichier se termine par (css|png|php|html|jpg)

:)
 
tu sais tu peux t'amuser avec les url rewrite :D

par exemple j'avais eu affaire un couple de 2 jeunes commerciaux ( inbus , faux-cul , qui te font croirent qu 'ils sont tes amis et qui te prennent pour un con , :D moi quand je detecte ça j'ai tendance à jouer le jeux :D )

le cas : j'ai rewrite lors des tests en local ( le commercial aime tester avant d'aller en prez client )

sur l'ip fixe de leurs deux machines du genre http://dns.domain/pierre.jaques_a_demandé_la_page

et

http://dns.domain/marie.lablondasseavecsesongleselleajamaisfaitlavaiselle_a_demandé_la_page

:p:D

donc forcément ils viennent te voir ho c'est génial tu peux lire sur mon ordinateur mon nom
alors toi tu continues :D oui mais pour des raisons de sécu on ne le fera pas
mais tu vois c'est possible et blablabla :eek::eek: ( que du feu ) :p:D

inbues d'eux mêmes en réunion client ( avec le directeur technique client)
BIGO ils sortent la connerie tout fiert

toi tu regardes le directeur technique du client en fesant mine d'avoir honte et d'halluciné
paf la réunion se passe sans rien dire , le poison est jeté :p:D

parce que forcément le directeur technique en parle avec son commercial
c'est qui ces guignoles qui racontent n'importent quoi

paf du coup :D appel du commercial au "chef de groupe des 2 zigotos "
je les veux plus pour ce projet :D et comme ds l'entreprise tout se passe
dans le non dit il ne donne pas les vraies raisons

et paf comme sont payés au portefeuille dans ton cul ******

:p:D ca s'appele du dressage

:D
 
tatouille a dit:
tu sais tu peux t'amuser avec les url rewrite :D

par exemple j'avais eu affaire un couple de 2 jeunes commerciaux ( inbus , faux-cul , qui te font croirent qu 'ils sont tes amis et qui te prennent pour un con , :D moi quand je detecte ça j'ai tendance à jouer le jeux :D )

le cas : j'ai rewrite lors des tests en local ( le commercial aime tester avant d'aller en prez client )

sur l'ip fixe de leurs deux machines du genre http://dns.domain/pierre.jaques_a_demandé_la_page

et

http://dns.domain/marie.lablondasseavecsesongleselleajamaisfaitlavaiselle_a_demandé_la_page

:p:D

donc forcément ils viennent te voir ho c'est génial tu peux lire sur mon ordinateur mon nom
alors toi tu continues :D oui mais pour des raisons de sécu on ne le fera pas
mais tu vois c'est possible et blablabla :eek::eek: ( que du feu ) :p:D

inbues d'eux mêmes en réunion client ( avec le directeur technique client)
BIGO ils sortent la connerie tout fiert

toi tu regardes le directeur technique du client en fesant mine d'avoir honte et d'halluciné
paf la réunion se passe sans rien dire , le poison est jeté :p:D

parce que forcément le directeur technique en parle avec son commercial
c'est qui ces guignoles qui racontent n'importent quoi

paf du coup :D appel du commercial au "chef de groupe des 2 zigotos "
je les veux plus pour ce projet :D et comme ds l'entreprise tout se passe
dans le non dit il ne donne pas les vraies raisons

et paf comme sont payés au portefeuille dans ton cul ******

:p:D ca s'appele du dressage

:D
:D énOOrme :p :love:

Shit !! Vous devriez donner des points de réputation à d'autres avant d'en offrir de nouveau à tatouille.
 
houep on a tous un probleme de boule ds les forums de dev
il faut allez bouler des estrangers :D (estrangères c'est mieux ):siffle::D

c'est les boules mdr :siffle::D

powered by GEEK & TOAST
 
tatouille a dit:
houep on a tous un probleme de boule ds les forums de dev
il faut allez bouler des estrangers :D (estrangères c'est mieux ):siffle::D

c'est les boules mdr :siffle::D

powered by GEEK & TOAST
j'ai boulet à tout bout d'champs...
(genre premier membre sur la page 42 dans la liste de membre, membre avec l'id 42, pareil avec 51 (pastis rulez :rateau:) et d'autre au hasard)

ben maintenant j'ai ça (10 boulages en moins de 24h) :
Vous avez distribué trop de points de réputation ces dernières 24 heures, essayez plus tard.


:D :D :D :p