mm Cuando haces un:
header("location: algunapagina.php");
Le pasas el SID? .. Deberías hacerlo igual que en: control.php
Código PHP:
$SID=session_name()."=".session_id();
header("Location: administracion.php?$SID");
A todo esto .. comprueba que $SID toma antes de enviarse a tu página y cuando llega a la página destino ..
Si tienes acceso a tu directorio donde PHP guarda las sessioens (session.save_path) .. puedes verlo ahí mismo el SID (ID en concreto) que se genera y ver incluso sus datos editando el archivo .. Con eso puedes comprobar si en la página destino en tu seguridad.php (justo despues del session_start() ..) que $SID tienes (si llegó el SID propagado de la anterior página o se ha generado uno nuevo por no llegar el SID anterior) ..
Si no tiens acceso al S.O. para ver eso .. tendras que guardarte ese dato (el $SID) en un archivo de texto plano (fopen() .. fwrite() por ejemplo) o incluso controlar el buffer de salida de PHP (funciones ob_start() y afines) para poder verlo .. (me refiero en este caso al SID de origen; el destino no es necesario ..)
Por otro lado .. la directiva:
url_rewriter.tags
Tan solo "reescribe" los TAG HTML que se indiquen .. pero no una sentecia de "cabeceras HTTP" como es la de header() en ese caso concreto (si no se usa propagación del SID por cookie como es tu caso) hay que hacerlo manualmente ...
Un saludo,
pd: (que versión de PHP usas?)