Redirection conditionnelle par .htaccess selon User-Agent

Nouveau WRInaute
Bonjour,

J'essaie de faire une redirection par .htaccess en fonction du User-agent, mais j'y arrive pas.

J'ai un domaine sur lequel j'ai installé un annuaire dans un répertoire :

www.example.com/annuaire/

pour l'instant dans le .htaccess, toutes les demandes pour example.com et www.example.com sont redirigées vers www.example.com/annuaire/ avec cette règle :

Code:
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) http://www.%{HTTP_HOST}/annuaire/$1 [R=301,L]

RewriteCond %{HTTP_HOST} ^www\.
RewriteRule (.*) http://%{HTTP_HOST}/annuaire/$1 [R=301,L]

Le problème est que je veux installer un blog à la racine du site et j'ai donc besoin d'accèder à www.example.com, www.example.com/wp-admin/ etc... sans être redirigé vers le dossier /annuaire/ le temps de le configurer et d'écrire quelques billets.

Mais les visiteurs doivent eux être redirigés pendant que je finis de faire ce que j'ai à faire avec le blog.

Je pensais utiliser un faux User-agent pour me connecter (ex: ZZZZZZ) et l'exclure de la règle de redirection avec une condition utilisant :

Code:
RewriteCond %{HTTP_USER_AGENT} ZZZZZZ

Mais je n'ai pas réussi et je ne vois pas comment faire.

Vous auriez pas une idée, soit pour la rédaction de l'exclusion dans le .htaccess soit une autre option qui me permette d'accéder au blog pendant que les visiteurs continuent d'être redirigés vers l'annuaire ?

Merci d'avance
 
WRInaute accro
Reconduit les pages qui utilisent IE vers -http://www.tonsite

Code:
RewriteCond %{HTTP_USER_AGENT} MSIE
RewriteRule .* http://www.tonsite [L]

Donc si tu met ZZZZ, ca va rien retourner. Ta commande n'impretera rien du tout. Par contre avec le REFERER tu peux envisager une solution. Fait un lien que toi seul peut identifier avec le REFERER et redirige.
 
Nouveau WRInaute
J'arrivais pas à faire une règle conditionnelle sur le REFERER tout en gardant valide mes redirections www non-www.

Mais c'est bon, j ai réussi avec le User-Agent, j'ai mis ça:

Code:
Options +FollowSymlinks

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} !ZZZZZZ
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule (.*) http://www.%{HTTP_HOST}/annuaire/$1 [R=301,L]

RewriteCond %{HTTP_USER_AGENT} !ZZZZZZ
RewriteCond %{HTTP_HOST} ^www\.
RewriteRule (.*) http://%{HTTP_HOST}/annuaire/$1 [R=301,L]

et avec firefox j'envoyais ZZZZZ comme User agent, ca marchait. (c'été tout bete :D )

Mais merci quand même pour ta réponse KOogar :)
 
WRInaute accro
Super :D

mais a quoi ca sert ca ??
RewriteCond %{HTTP_USER_AGENT} !ZZZZZZ
ca dit: si le navigateur est different de ZZZZZ

Il l'est forcement different, donc je ne vois pas a quoi cela est utile.
Si tu l'enleves ca ne marche plus ?

^^
 
Nouveau WRInaute
KOogar a dit:
mais a quoi ca sert ca ??
RewriteCond %{HTTP_USER_AGENT} !ZZZZZZ
ca dit: si le navigateur est different de ZZZZZ

Il l'est forcement different, donc je ne vois pas a quoi cela est utile.
Si tu l'enleves ca ne marche plus ?

Ah ouais, ben j'ai du mal m'expliquer dans mon premier message :D, parce que c'est ca que je voulais faire.

Je voulais échapper à la redirection pour pouvoir accéder à la racine et configurer le blog. Les visteurs devaient eux etre redirigés vers /annuaire/.

donc la règle que j'ai mis plus haut elle dit :

Tout les user-agent (robots, navigateurs...) sont redirigés vers /annuaire/ , sauf les user-agent ZZZZZ (moi quoi, je pense pas qu'y en ait beaucoup d'autres :) )

(j'utilisais une extension firefox pour envoyer un faux user-agent)

Mais c'est tordu les .htaccess je trouve, alors si t'as la régle d'écriture pour une redirection conditionnelle du même genre mais sur le REFERER, j'en veux bien :)
 
WRInaute accro
Par curiosité, comment fait tu pour declarer ton navigateur comme ZZZZ ?

pour le REFERER ca donnera un code dans ce style:

Code:
RewriteCond %{HTTP_REFERER} ^http://www.tonsite.com/ta_page_speciale.php

ta_page_speciale.php contient juste un lien. ta juste a le glisser dans une de tes admins securisés. Comme ca, si tu te trouve sur un autre PC, ton code marche encore, c'est plus cool.
 
Discussions similaires
Haut