私のクラスベースのサイトの1つでは、すべてがindex.php
ページを介して制御され、すべてのページはそのclass
インデックスページを介して呼び出される独自のページです。
これらのクラスの1つには、サイトのすべてのページに対して呼び出されるログインヘッダーとログアウトヘッダーの両方があり、どちらもサイトAd
の上部に表示されるを呼び出します。
問題は、ページにリダイレクトがある場合は常に、そのページのクラスが呼び出されるまで発生しないことです。これは、ヘッダーが既に呼び出された後に発生します。つまり、ページがリダイレクトで終了したため、表示されません。
これにより、広告のクリック率(CTR)が低下するため、広告のパフォーマンスに悪影響を及ぼします。
ページのクラスが読み込まれるまでページがリダイレクトされたことを知る方法がない場合、ページがリダイレクトされたときに広告呼び出しが行われないようにするにはどうすればよいですか?
私が考えることができる唯一の「すぐに使える」解決策は、出力バッファを使用して最初にそのページのクラスをロードし、次にバッファの先頭に到達した場合は、バッファの先頭にヘッダーを追加することです。リダイレクトはありませんが、それが機能するかどうか、またはどのように実行するかはわかりません。
何か案は?
編集:
明確にするために、リダイレクトはすでにHTTPヘッダーを介して行われており、すべての出力は現在バッファリングされています。ただし、各ページにはリダイレクトの独自の理由がある可能性があるため、各ページによって制御されます。たとえば、1つのページがメッセージの送信を処理し、メッセージが送信されると、メッセージをデータベースに保存した後、ユーザーを受信トレイにリダイレクトします。別のページでは、ログアウトしたユーザーは許可されていないため、特定のページはユーザーがログインしているかどうかを確認し、ログインしていない場合はユーザーをログインページにリダイレクトします。
ただし、完全な出力バッファリングが有効になっていて、個々のクラスページ内のheader()関数を介してリダイレクトが行われている場合でも、バッファリングはヘッダーリダイレクトを実行する前にAd呼び出しを実行するようです。