kazofr Posté 11 Juin 2014 Partager Posté 11 Juin 2014 Hello, Je suis débutant Un site intranet a été réalisé...(avant) y a pas de doc... avec des redirections et une authentification avec CAS (un SSO de Yale)... j'essaye de comprendre car y a des fosi on arrive pas à se connecter Aussi je ne comprends pas les lignes en orange : # URL with enweb1_enu AND NO ticket= AND SWECmd=GotoView AND "&"RewriteCond %{REQUEST_URI} ^/enweb1_enu(.*)$RewriteCond %{QUERY_STRING} !^(.*)ticket=(.*)$RewriteCond %{QUERY_STRING} ^(.*)SWECmd=GotoView(.*)$RewriteCond %{QUERY_STRING} ^(.*)&(.*)$RewriteRule ^(.*)$ $1?%1\%26%2 [NE,R=301]# URL with enweb1_enu AND NO ticket= AND SWECmd=GotoView AND "&"# Go to CAS + URLRewriteCond %{QUERY_STRING} !^(.*)ticket=(.*)$RewriteCond %{QUERY_STRING} ^(.*)SWECmd=Start(.*)$RewriteCond %{REQUEST_URI} ^/enweb1_enu(.*)$RewriteRule ^/(.*)$ http://guidecas-envweb1.staging/GUIDeCAS/login?service=http://%{HTTP_HOST}%{REQUEST_URI}?%{QUERY_STRING}# URL with enweb1_enu AND NO ticket= AND "_sn="# Rewrite rule ???RewriteCond %{REQUEST_URI} ^/enweb1_enu(.*)$RewriteCond %{QUERY_STRING} !^(.*)ticket=(.*)$RewriteCond %{HTTP_COOKIE} (^|;\s*)_sn=([^;]+)RewriteRule ^/(.*)$ - [E=ticket:BNP_sn=%2]# URL with enweb1_enu AND ticket= AND NO "_sn=" AND COOKIE# Rewrite rule ???RewriteCond %{REQUEST_URI} ^/enweb1_enu(.*)$RewriteCond %{QUERY_STRING} ^(.*)ticket=(.*)$RewriteCond %{QUERY_STRING} !^(.*)_sn=(.*)$RewriteCond %{HTTP_COOKIE} (^|;\s*)_sn=([^;]+)RewriteRule ^/(.*)$ - [E=ticket:_sn=%2&%{QUERY_STRING}]# URL with enweb1_enu AND ticket= AND NO "_sn=" AND COOKIE# Rewrite rule ???RewriteCond %{REQUEST_URI} ^/enweb1_enu(.*)$RewriteCond %{HTTP_COOKIE} (^|;\s*)_sn=([^;]+)RewriteCond %{QUERY_STRING} ^(.*)ticket=(.*)$RewriteCond %{QUERY_STRING} ^(.*)_sn=(.*)$RewriteRule ^/(.*)$ - [E=ticket:%0]Header add CAS_TICKET "%{ticket}e"RequestHeader set CAS_TICKET "%{ticket}e" Merci par avance pour votre aide Lien vers le commentaire Partager sur d’autres sites More sharing options...
kazofr Posté 11 Juin 2014 Auteur Partager Posté 11 Juin 2014 J'ai repris le tuto : http://www.webmaster-hub.com/publication/Mod_rewrite-ou-la-reecriture-des Mes analyses : RewriteRule ^(.*)$ $1?%1\%26%2 [NE,R=301] ^(.*)$ = du début à la fin $1 = paramètre 1 le reste c'est un mistère pour moi ??? j'ai essayé de comparé au rewrite.log Mais sans succes... Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 11 Juin 2014 Partager Posté 11 Juin 2014 La suite est simple pourtant... Le %1 est une référence arrière vers la première chaîne trouvée et mise entre parenthèses dans une de tes conditions... Dans ton premier exemple, RewriteCond %{REQUEST_URI} ^/enweb1_enu(.*)$ cela correspond à ce qui se trouve après enweb1_enu. Le \%26 est un littéral, vu que le signe % est échappé par un anti-slash. Le %2 correspond à la référence arrière de la deuxième chaîne qui donne un "match" dans tes conditions. Lien vers le commentaire Partager sur d’autres sites More sharing options...
kazofr Posté 11 Juin 2014 Auteur Partager Posté 11 Juin 2014 Super merci pour tes explications ça m'aide :-) Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant