exception dans les règles de réécriture
23 messages
• Page 1 sur 2 • 1, 2
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- Canard
- Nouveau WRInaute

- Messages: 13
- Inscription: 1 Aoû 2005
exception dans les règles de réécriture
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
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

- Messages: 19415
- Inscription: 19 Avr 2002
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: 1 Aoû 2005
euh...
en fait j'ai ça
je dois rajouter quoi ? j'ai rien pigé...
- Code: Tout sélectionner
RewriteRule ^(.*)/$ ./piege.php [L]
RewriteRule ^([^/]+)/(.+)$ ./piege.php [L]
je dois rajouter quoi ? j'ai rien pigé...
-

correiaj - WRInaute passionné

- Messages: 1110
- Inscription: 25 Avr 2005
Une condition serait bien mieux:
avec ta règle, marque ça:
avec ta règle, marque ça:
- Code: Tout sélectionner
RewriteCond %{Request_URI} !/images
- Canard
- Nouveau WRInaute

- Messages: 13
- Inscription: 1 Aoû 2005
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...
www.mnsite.com/images/une_images_qui_es ... ossier.jpg --> sa me renvoi vers pirate.php...
-

correiaj - WRInaute passionné

- Messages: 1110
- Inscription: 25 Avr 2005
- Code: Tout sélectionner
!^.*/images/.*$
ça marche pas non plus?
- Canard
- Nouveau WRInaute

- Messages: 13
- Inscription: 1 Aoû 2005
euh non j'ai ça :
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
- 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é

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

Patrice A. - WRInaute passionné

- Messages: 2415
- Inscription: 11 Fév 2005
correiaj, ^signifie "au début", et $ "à la fin"
donc
ç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
qui veut dire "la chaîne contient, n'importe où, /images/

De plus,
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
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: 1 Aoû 2005
- Code: Tout sélectionner
RewriteCond %{Request_URI} !^.*/images/.*
RewriteRule ^([^/]+)/(.*) ./pirate.php
MERCI parfait ! (et doublement merci pour les explications!)
23 messages
• Page 1 sur 2 • 1, 2
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 :
- Réécriture avec exception - adresses sans extension
- générateur de règles de réécriture
- Trops de règles de réécriture htaccess?
- Changement règles réécriture et référencement
- Comment ajouter plusieurs règles de réécriture ?
- [Résolu] Conflit dans les régles de réécriture.
- Besoin d'aide pour mes regles de réécriture...
- RewriteRule avec une exception
- Capture et Exception Url rewriting
- Redirection 301 avec une exception
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
