2012-01-17 28 views

答えて

7

フレームはクライアント側のみであり、PHPまたは.htaccessで確認することはできません。 Javascriptで確認できます。このスレッドを参照してください。

How to identify if a webpage is being loaded inside an iframe or directly into the browser window?

EDIT はここで、あなたのためにリダイレクトします例です。それはストレートのJavascriptのですが、あなたはjQueryを使ってこれをやっていた場合は、ページがまだPHPページであることを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> 

注に同じ機能を書くことができ、それだけのJavascriptのそのビットを出力する必要があります。

+0

ありがとう、私は見てみましょう:-) – 2by

+0

あなたは私に例を与えることができますか? – 2by

+0

例を追加編集しました – Cfreak

0

私は上記の答えを信じていなかったので、私はこれを試してみました:

$requri = $_SERVER["SERVER_NAME"] . $_SERVER["REQUEST_URI"]; 
if (strpos($requri, $domain_of_uri_in_frame_no_http) !== FALSE){ 
    header("Location: " . $top_uri) ; 
} 

それは動作しませんでしたので、あなたの時間:)を無駄にしないでください。

関連する問題