Problème de boucle (regex)
3 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- peutch
- Nouveau WRInaute

- Messages: 18
- Inscription: 1 Nov 2004
Problème de boucle (regex)
Bonjour,
Je cherche à faire une regex qui me permettent de reconnaître des chaînes ne contenant pas une sous-chaîne. Voilà précisément ce que je veux faire dans mon htaccess :
- si le visiteur appelle le fichier rep1/sousrepé/nom.pdf, il est redirigé vers
/openfile.php?file=dir1/subdir2/filename.pdf
- si le visiteur appelle le fichier openfile.php?file=dir1/dir2/nom.pdf , je ne veux pas qu'il soit redirigé, sinon ça fait une boucle !
Il me faut donc rediriger le fichier que s'il ne contient pas openfile.php?file=
Ma regex de redirection est pour l'instant :
#RewriteRule ^((?!openfile.php).*).(jpg|JPG|mp3|pdf)$ /openfile.php?file=$1.$2 [R]
Mais ça ne marche pas. J'ai essayé de la triturer sans grand succès. Auriez-vous une idée ?
Merci !
Peutch
Je cherche à faire une regex qui me permettent de reconnaître des chaînes ne contenant pas une sous-chaîne. Voilà précisément ce que je veux faire dans mon htaccess :
- si le visiteur appelle le fichier rep1/sousrepé/nom.pdf, il est redirigé vers
/openfile.php?file=dir1/subdir2/filename.pdf
- si le visiteur appelle le fichier openfile.php?file=dir1/dir2/nom.pdf , je ne veux pas qu'il soit redirigé, sinon ça fait une boucle !
Il me faut donc rediriger le fichier que s'il ne contient pas openfile.php?file=
Ma regex de redirection est pour l'instant :
#RewriteRule ^((?!openfile.php).*).(jpg|JPG|mp3|pdf)$ /openfile.php?file=$1.$2 [R]
Mais ça ne marche pas. J'ai essayé de la triturer sans grand succès. Auriez-vous une idée ?
Merci !
Peutch
- SgtCoignet
- Nouveau WRInaute

- Messages: 1
- Inscription: 26 Déc 2004
RewriteCond
Bonjour,
As-tu essayé de rechercher file dans le query redirigé?
RewriteCond %{REDIRECT_QUERY} ^file.*
RewriteRule ^(.*) - [L]
Tu peux aussi, à chaque fois q'une redirection est réalisé, fermer les autres redirections en utilisant [L], équivalent du break
Tu peux aussi traiter seulement les adresses ne remplissant pas la condition
RewriteCond %{REDIRECT_QUERY} !^file.*
Attention aux conditions, Alias et leur définition au niveau serveur
As-tu essayé de rechercher file dans le query redirigé?
RewriteCond %{REDIRECT_QUERY} ^file.*
RewriteRule ^(.*) - [L]
Tu peux aussi, à chaque fois q'une redirection est réalisé, fermer les autres redirections en utilisant [L], équivalent du break
Tu peux aussi traiter seulement les adresses ne remplissant pas la condition
RewriteCond %{REDIRECT_QUERY} !^file.*
Attention aux conditions, Alias et leur définition au niveau serveur
3 messages
• Page 1 sur 1
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 :
- Nouveautés dans l'API Google Analytics (Septembre 2009) - 19-09-2009
- MSN HRS : des éditeurs de MSN évaluent la qualité des sites web - 02-12-2005
- Suivre le Tour de France 2008 avec Google Street View - 03-07-2008
- Google se lance dans la recherche de blogs - 14-09-2005
- Google API : guide de développement de l'API Google - 20-09-2002
- Filtre Google Analytics pour trouver les questions des visiteurs - 14-09-2010
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

