exception dans les règles de réécriture

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

Canard
Nouveau WRInaute
 
Messages: 13
Inscription: Lun Aoû 01, 2005 12:27

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: 15883
Inscription: Ven Avr 19, 2002 19:51

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
 
Messages: 13
Inscription: Lun Aoû 01, 2005 12:27

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 accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

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
 
Messages: 13
Inscription: Lun Aoû 01, 2005 12:27

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
 
Messages: 13
Inscription: Lun Aoû 01, 2005 12:27

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
 
Messages: 13
Inscription: Lun Aoû 01, 2005 12:27

Message le Mar Aoû 02, 2005 16:06

up :)


correiaj
WRInaute accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Message le Mar Aoû 02, 2005 16:57

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


après images

Canard
Nouveau WRInaute
 
Messages: 13
Inscription: Lun Aoû 01, 2005 12:27

Message le Mar Aoû 02, 2005 17:58

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


correiaj
WRInaute accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

Message le Mar Aoû 02, 2005 20:18

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

ça marche pas non plus?

Canard
Nouveau WRInaute
 
Messages: 13
Inscription: Lun Aoû 01, 2005 12:27

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 accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

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.
Modérateur
Modérateur
 
Messages: 2413
Inscription: Ven Fév 11, 2005 19:36

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
 
Messages: 13
Inscription: Lun Aoû 01, 2005 12:27

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 accro
WRInaute accro
 
Messages: 1106
Inscription: Lun Avr 25, 2005 22:39

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

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