Est-il possible d'utiliser mod_rewrite pour modifier les valeurs dans les cookies en fonction d'une condition? Je suis complètement nouveau sur HTTP, mais j'ai essayé une chose ou deux. La seule expression régulière que je connaisse est à la Perl, j'espère que ça va.
RewriteRule s/.[0-9][0-9][0-9]/COOKIE=MSFNODE/g;
MSFNODE
est une valeur dans mon cookie.SESSIONID
(également dans mon cookie). Je ne sais pas comment choisir cela comme cible..[0-9][0-9][0-9]
par ma valeur de cookie appelée MSFNODE
, niquement si MSFNODE
existe!Est-ce que COOKIE=MSFNODE
est la bonne façon de faire cela? De plus, je souhaite que cela ne se produise que si MSFNODE
existe - dans l'état actuel des choses, sera-t-il simplement transmis sans suivre la règle de réécriture si MSFNODE
n'existe pas?
Je sens que même ma regex la plus basique est imparfaite ici.
Vous pouvez obtenir/détecter/vérifier l’existence de cookies à travers RewriteCond% {HTTP_COOKIE}
Définissez la valeur du cookie à l'aide de l'indicateur RewriteRulecookie | CO , dont la syntaxe est la suivante: [CO=NAME:VALUE:DOMAIN:lifetime:path:secure:httponly]
Un exemple avec les deux ensemble:
RewriteCond %{HTTP_COOKIE} cookiekey=cookievalue [NC]
RewriteRule ^(.*)$ /$1 [L,CO=cookiekey:NewCookieValue:mydomain.com:86400:/]
Dans l'exemple ci-dessus, la redirection n'aura lieu que si cookiekey a la valeur cookievalue. Vous pouvez également utiliser regex dans le cookievalue RewriteCond si vous le souhaitez.
Autres exemples (lisez également les commentaires des utilisateurs): http://www.askapache.com/htaccess/htaccess-fresh.html#Cookie_Manipulation_Tests_mod_rewrite