0

1 つの Web サイトに Wix とスタンドアロンのデスクトップ バージョンの両方を持たせようとしています。ただし、この Web サイトを Wix iFrame にロードすると、Wix バージョンで問題が発生します。

IF ステートメントが true の場合、ユーザーは自動的にリダイレクトされます。つまり、Wix iFrame 内でこの Web サイトにアクセスしている場合、IF ステートメントが true を返すため、「ヘッダー」で始まるコード行を実行する必要があります。

 if(isset($_GET[ 'instance' ], $_GET[ 'siteUrl' ], $_GET['locale']))
{       
    $value = 1;
    setcookie("IsWixUser", $value, time()+3600);
    header('Location: app.php?show=social_manager');
}
else
{
    $value = -1;
    setcookie("IsWixUser", $value, time()+3600);
}

これは、Cookie をまったく使用せずに Wix で初めて私のウェブサイトを読み込んでいる場合には当てはまりません。firebug を使用してリソースを確認し、Cookie「IsWixUser」が $value 1 を保持するように適切に実行されていることを確認できるため、setcookie() は最初は完全に機能しますが、ブラウザーは header() 関数をスキップすることを決定します。そして、それをまったく実行しません。

header() 関数は、Wix ページ全体を更新して iFrame をリロードした後にのみ機能し、最後に header() 関数は、Cookie「IsWixUser」が過去に 1 に設定された場合にのみ機能します。

これは Drupal だけの問題なのでしょうか? 上記のコード行は、Drupal の index.php の先頭にあります。

4

2 に答える 2

0

これがあなたの問題に対する答えだと言っているわけではありませんが、すべてを正しく行っていると確信している場合はheaders_sent、PHP の機能を試してみてください。そうでない場合は、少なくとも何が起こっているかについてのアイデアを提供します。

例えば:

if (!headers_sent()) {
  header('Location: http://www.example.com/');
  //exit;
}

Locationのように、URL 全体をフィードしてみてくださいhttp://....。Drupal は面白い方法で動作し、これら 2 つのいずれかが役立つかもしれません。

于 2013-11-08T20:22:13.873 に答える