You can:
1)Use Frame Sets:
You have to make your index page a frame set page like:
index.php
<?php
setcookie("beenOnFirstPage",1,time()+3600)
// sets a cookie that remains 1 hour
?>
<head>
<title>Index Page</title>
</head>
<frameset rows="1,*">
<frame name="encabezado" scrolling="no" noresize target="principal" src="Firstpage1.php">
<frame name="principal" src="Firstpage2.php">
</frameset>
Where Firstpage1.php could be a blank page and Firstpage2.php would be your actual index page.
By doing this your users will allways see the url of your index page even when they go to diferent pages when they click on a link.
2) Then, to avoid direct linking to other pages you could include the following line on top of each of your pages:
<? php
if(!$HTTP_REFERER || $beenOnFirstPage!="1")
{
header ("Location: http://www.domain.com/index.php");
}
?>
What this does is checks for the cookie to have been set and that the url box hasn't been changed. If one or both of isn't met then it takes you to the index page.
Guillermo