2011-12-02 10 views
0

インデックスページにiframeがあり、その親ページの外側に表示されないようにしています。 IFRAMEありえないが、親ページhttp://mysite.com/index.phpに表示されているのであれば、それは何かのhttp://mysite.com/php - 親の場合はリダイレクトする方法

イム思考にリダイレクトする必要があります

if ($_SERVER['REQUEST_URI'] !== 'http://mysite.com/') { 
    include_once 'http://mysite.com/'; 
} 
+0

これを気密に行うことは不可能です。なぜそれをもっと難しくしようとしていますか?ブラウザのコンテキストメニューを開くことを禁止する「賢い」JSを思い出させる。 – Jon

+0

PHPではできません.JavaScriptを使用してください。 – Leto

答えて

1

は、私はあなたのアプローチと同様にそれを行うだろう:あなたがちょうどあなたのインデックスページ

if ($_SERVER['HTTP_HOST'] !== 'mysite.com' && $_SERVER['REQUEST_URI']!=='index.php') { 
    header("Location: mysite.com"); 
} 
0

使用header("Location: http://...")

+0

それはリダイレクトを釘付けにしますが、あなたが質問を読むと、if条件自体が間違っていることがわかります。 – Jon

0

PHPは方法がありませんページがフレームから要求されたかどうかを検出する。言及するのに十分に一貫性のあるものではない。あなたには、いくつかのjavascriptをしたい場合は、使用することができます。

if (top != self) { 
    // you're in an iframe, or similar. 
} 
0
top.location.href 
のためにそれを必要とする場合

if ($_SERVER['HTTP_HOST'] !== 'mysite.com') { 
    header("Location: mysite.com"); 
} 

これは、両方のページ(iframeとメインページ)が同じドメインから配信されている場合にのみ機能します。

if(top.location.href!=="pageyouexpect") 
{ 
REDIRECT WHERE YOU WANT 
} 
関連する問題