0

私は静的な Web サイトで PHP インクルードを使用しています。すべてのページに同じ header.php を使用し、php を使用してページ タイトルなどを変更しています。

IE6 ユーザーの場合、ホームページにいるだけで、ブラウザーをアップグレードするように求められる unsupported.php にリダイレクトされるようにします。

彼らはテキストのみのスタイル シートを受け取りますが、サイトがスタイルされていないように見える理由を説明する必要があると感じています。

誰でもこれを行う方法のアイデアを提供できますか?

4

2 に答える 2

2

ユーザーがホームページにアクセスしているかどうかを示す何らかのフラグが必要なだけで、単純なブール値を持つ変数で十分です。

$home = true;

if (isset($home) && $home === true) {
    echo 'You are on the home page';
    // do IE warning here
}

そこから、ブラウザのユーザー エージェント文字列をチェックすると言うことができます。IE 6の場合(頭のてっぺんからユーザー エージェント文字列がわかりません)、警告が表示されたことを示す Cookie を設定し、header()リダイレクトを行うことができます。次に、IE 6 を使用する訪問者が Web サイトにアクセスするたびに、Cookie が設定されているかどうかを確認し、通常どおりページを表示します。

<?php
if (!isset($_COOKIE['ie_warned'])) {
    setcookie('ie_warned', true, strtotime('1 month'));
    header('HTTP/1.1 307 Temporary Redirect');
    header('Location: unsupported.php');
    exit;
}
于 2012-11-07T11:32:52.057 に答える
-1

または、PHP ヘッダーに次のようなものをラップすることもできます。

<!--[if IE 6]>
<script language="Javascript">
window.location = "http://www.site.com/unsupported.php";
</script>
<![endif]-->

すべてのページでこれを行わない限り、個々のページは引き続き IE6 でアクセスできます。

于 2012-11-07T16:30:30.763 に答える