Hola.
Me entretuve un rato e hice un script php para ello. Se hace con cookies: si el usuario no ha pasado por el indice, se le redirecciona a él y se le mete una cookie para decir "ya has visitado el indice, ahora eres libre de ir a cualquier lado".
Nota que será un poco molesto si p. ej. alguien pincha en el buscador y en vez de ir directamente al contenido, le tira al indice principal... eso tenlo en cuenta. De todas formas te dejo el script por si lo quieres usar:
archivo a.php Código PHP:
<?
/********** EDITA AQUÍ TODO LO QUE QUIERAS **********/
/* URL a donde quieres redireccionar si no han pasado
por ella */
$url = "http://www.tuservidor.com/index.php";
/* Duración de la cookie en segundos (al cabo de estos
segundos se borra la cookie y se volverá a ir al indice
si el usuario sigue en la web) */
$duracion = 1800;
/********** NO TOCAR NADA A PARTIR DE AQUI **********/
$miurl="http://".$SERVER_NAME.$SCRIPT_NAME;
/* Si estamos en el indice de la web, ponemos una cookie
que nos dira que ya hemos visitado dicho indice */
if (!strcasecmp($url,$miurl)) {
setcookie("index",1,time()+$duracion);
}
/* Si no tenemos cookie, nos vamos al indice.
Si ya la tenemos, la renovamos */
if (!$_COOKIE['index']) {
header("Location: $url");
} else {
setcookie("index",1,time()+$duracion);
}
?>
Luego tus páginas en vez de llamarlas .HTM o .HTML tienes que llamarlas .PHP y en todas, al inicio del todo, pon esto:
Código PHP:
<?
include "a.php";
?>
Eso si, suponiendo que a.php esté en la misma ruta que la pagina en cuestión. De tal forma, al incluir a.php al inicio, se verifica si existe o no la cookie y se redirecciona o no en tal caso.
Saludos