Archivo de la etiqueta: rewriterule

Cómo crear una cookie mediante un RewriteRule de Apache

Me ha tocado hacer un tarea bastante sencilla a simple vista:

Crear una cookie con el nombre del usuario que se ha autenticado en una página restringida de Apache.

Yo ya sabía que con el el RewriteEngine puedes leer las cookies y redirigir a una página a otra, pero lo de crear una cookie me totalmente desconocido.

Así que después de un rato buscando por Google, llego a esta página:

https://www.askapache.com/htaccess/htaccess-fresh/

En ella encuentro el código que pone una cookie mediante RewriteRule:

RewriteEngine On
RewriteBase /
RewriteRule ^(.*)(de|es|fr|it|ja|ru|en)/$ - [co=lang:$2:.askapache.com:7200:/]

Nos tenemos que fijar en la parte que va entre corchetes que es donde se pone la cookie:

[co=NOMBRE_COOKIE:VALOR:DOMINIO:VIGENCIA:PATH]

La ristra completa de parámetros es la siguiente:

[co=NOMBRE_COOKIE:VALOR:DOMINIO:VIGENCIA:PATH:SECURE:HTTPONLY]

En esta página se encuentra la definición de cada uno de ellos:

https://httpd.apache.org/docs/2.4/rewrite/flags.html

Juntando todo tenemos que la solución para poner una cookie con el usuario es la siguiente:

 RewriteEngine On
 RewriteBase /
 RewriteCond %{REMOTE_USER} !^$ [NC]
 RewriteRule .* - [co=user:%{REMOTE_USER}:.javray.com:7200:/]