kazofr Posté 11 Juin 2014 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
kazofr Posté 11 Juin 2014 Auteur 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...
Dan Posté 11 Juin 2014 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.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant