exception dans les règles de réécriture

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

Canard
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 1 Aoû 2005

exception dans les règles de réécriture

Message le Lun Aoû 01, 2005 12:32

Bonjour,

Grace a l'url rewriting je redirige tous les visiteurs qui accedent a :
www.example.com/dossier_tape_au_hasard/

vers pirate.php

or j'ai un dossier images et j'aimerai qu'il en aient acces en tapant
www.example.com/images <-> et donc ne pas etre redirigé vers pirate.php

je sias qu'il existe des excetions mais je ne sais pa m'en servir quelqu'un aurai t'il un totorial ou un aide à m'aaporter ?
merci beaucoup


WebRankInfo
Administrateur du site
Administrateur du site
 
Messages: 19415
Inscription: 19 Avr 2002

Message le Lun Aoû 01, 2005 13:27

il suffit de créer une règle spécifique à ton dossier image, de la mettre avant l'autre règle dans ton fichier .htaccess, et d'indiquer [L] à la fin de cette règle (pour dire "Last", pour qu'aucune autre règle ne soit appliquée)

Canard
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 1 Aoû 2005

euh...

Message le Lun Aoû 01, 2005 15:50

en fait j'ai ça


Code: Tout sélectionner
RewriteRule ^(.*)/$ ./piege.php [L]
RewriteRule ^([^/]+)/(.+)$ ./piege.php [L]



je dois rajouter quoi ? j'ai rien pigé...


correiaj
WRInaute passionné
WRInaute passionné
 
Messages: 1110
Inscription: 25 Avr 2005

Message le Lun Aoû 01, 2005 18:21

Une condition serait bien mieux:

avec ta règle, marque ça:

Code: Tout sélectionner
RewriteCond %{Request_URI} !/images

Canard
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 1 Aoû 2005

Message le Mar Aoû 02, 2005 8:59

wa super merci... mais j'aimerai bien comprendre ....
pourrai tu m'expliquer cette ligne ?

qu'entends tu par ce serais mieux une condition ? (exemple ?)

Canard
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 1 Aoû 2005

Message le Mar Aoû 02, 2005 9:02

en fait non car quand je tape www.mnsite.com/images c'ets bon mais quand je tape
www.mnsite.com/images/une_images_qui_es ... ossier.jpg --> sa me renvoi vers pirate.php...

Canard
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 1 Aoû 2005

Message le Mar Aoû 02, 2005 16:06

up :)


correiaj
WRInaute passionné
WRInaute passionné
 
Messages: 1110
Inscription: 25 Avr 2005

Message le Mar Aoû 02, 2005 16:57

et bien rajoute:
Code: Tout sélectionner
.*


après images

Canard
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 1 Aoû 2005

Message le Mar Aoû 02, 2005 17:58

merci pour ta réponse mais cela ne marche pas...


correiaj
WRInaute passionné
WRInaute passionné
 
Messages: 1110
Inscription: 25 Avr 2005

Message le Mar Aoû 02, 2005 20:18

Code: Tout sélectionner
!^.*/images/.*$

ça marche pas non plus?

Canard
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 1 Aoû 2005

Message le Mer Aoû 03, 2005 10:52

euh non j'ai ça :

Code: Tout sélectionner
Options +FollowSymlinks
RewriteEngine on
RewriteCond %{Request_URI} !^.*/images/.*$
RewriteRule ^(.*)/$ ./pirate.php
RewriteRule ^([^/]+)/(.+)$ ./pirate.php


et cela ne marche pas enfin quand je vais dans images -> c'est bon mais quand je vais dans images/xx.jpg cela me renvoi vers pirate.php


correiaj
WRInaute passionné
WRInaute passionné
 
Messages: 1110
Inscription: 25 Avr 2005

Message le Mer Aoû 03, 2005 13:24

C´est normal que ça ne mache pas, la condition ne s´applique que à la première règle...
essaie ça:
Code: Tout sélectionner
RewriteCond %{Request_URI} !^.*/images/.*$
RewriteRule ^([^/]+)/(.*)$ ./pirate.php


Patrice A.
WRInaute passionné
WRInaute passionné
 
Messages: 2415
Inscription: 11 Fév 2005

Message le Mer Aoû 03, 2005 13:42

correiaj, ^signifie "au début", et $ "à la fin"
donc
Code: Tout sélectionner
^.*/images/.*$

ça veut dire qu'au début, il doit ABSOLUMENT y avoir euh.. n'importe quoi,
puis quelque part, /images/,
puis à la fin, ABSOLUMENT, euh... n'importe quoi.

Alors ça serait plus simple d'écrire
Code: Tout sélectionner
.*/images/.*

qui veut dire "la chaîne contient, n'importe où, /images/

;)

De plus,
Code: Tout sélectionner
^([^/]+)/(.*)$

veut dire
au début, n'importe quoi sauf un slash (au moins une fois) puis un slash, puis n'importe quoi à la fin.
On peut encore une fois se débarasser du $ qui représente un test inutile.

Pourquoi pas
Code: Tout sélectionner
RewriteCond %{Request_URI} !^.*/images/.*
RewriteRule ^([^/]+)/(.*) ./pirate.php
?

Canard
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 13
Inscription: 1 Aoû 2005

Message le Mer Aoû 03, 2005 13:57

Code: Tout sélectionner
RewriteCond %{Request_URI} !^.*/images/.*
RewriteRule ^([^/]+)/(.*) ./pirate.php


MERCI parfait ! (et doublement merci pour les explications!)


correiaj
WRInaute passionné
WRInaute passionné
 
Messages: 1110
Inscription: 25 Avr 2005

Message le Mer Aoû 03, 2005 14:06

Bon ensuite il faut mettre le drapeau NC et remettre sans les .* devant et derrière images car sinon, tu peut accéder à n´importe quel directorie images:
/images/ mais aussi /../../images et ainsi de suite

exception dans les règles de réécriture

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités