First thing that came into my mind was: "move your includes outside webserver root directory". Then noone would be able to call it directly (PHP can still include them, as long as parmissions are ok).
But if you want to redirect from includes to index.php, then you need to end them with ".php". Now, in index.php set some varible. Check if it's set in include and then redirect or not.
Example
//in index.php
$some_var="this is secret";
include("sub_page.php");
//in sub_page.php
if (isset($some_var)&&$some_var=="this is secret")
{
//display content
}
else header("Location: index.php?sub=sub_page");