Фреймы только на стороне клиента, поэтому вы не можете проверить это через PHP или .htaccess. Вы можете проверить это в Javascript. Смотрите эту тему:
Как определить, загружается ли веб-страница внутри iframe или непосредственно в окне браузера?
EDIT
Вот пример, который будет перенаправлять для вас. Это простой Javascript, но если вы делаете это с помощью jQuery, вы можете написать ту же функцию в document.ready
<script>
function check_frame() {
if( top === self ) { // not in a frame
location.href = "/link/to/some/url"; // either the frameset or an error.
}
}
</script>
<body onLoad="check_frame()">
... normal code for your page here ...
</body>
Обратите внимание, что страница все еще может быть страницей PHP, ей просто нужно будет вывести этот бит Javascript.