Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在第一次访问时将IE6用户带到特定页面,并且仅在主页上_Php_Javascript_Redirect - Fatal编程技术网

Php 在第一次访问时将IE6用户带到特定页面,并且仅在主页上

Php 在第一次访问时将IE6用户带到特定页面,并且仅在主页上,php,javascript,redirect,Php,Javascript,Redirect,我在一个静态网站上使用PHP包含,我在所有页面上使用相同的header.PHP,并使用PHP更改页面标题等内容 对于IE6用户,我只是在主页上希望他们被重定向到unsupported.php,在那里他们会得到升级浏览器的提示 他们有一个纯文本的样式表,我觉得我需要解释一下为什么网站看起来没有样式 有人能提供一个方法吗?只需要一些标志来指定用户是否在主页上,一个带有简单布尔值的变量就足够了: $home = true; if (isset($home) && $home ===

我在一个静态网站上使用PHP包含,我在所有页面上使用相同的header.PHP,并使用PHP更改页面标题等内容

对于IE6用户,我只是在主页上希望他们被重定向到unsupported.php,在那里他们会得到升级浏览器的提示

他们有一个纯文本的样式表,我觉得我需要解释一下为什么网站看起来没有样式


有人能提供一个方法吗?

只需要一些标志来指定用户是否在主页上,一个带有简单布尔值的变量就足够了:

$home = true;

if (isset($home) && $home === true) {
    echo 'You are on the home page';
    // do IE warning here
}
然后,您可以说,检查浏览器用户代理字符串。如果它是IE 6(我不知道我头顶上的用户代理字符串),那么您可以设置一个cookie,说明警告已被查看,并执行
header()
重定向。然后,每当使用IE6的访问者访问您的网站时,检查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;
}

或者您可以在PHP标题中包装类似的内容

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


除非您在所有页面上都有此功能,否则仍可以使用IE6访问各个页面。谢谢您的回答。我先试试cookie,看看我是怎么开始的。OP只想重定向主页请求;这将重定向任何请求。