发送标头后重定向用户
我知道,只要数据已发送到浏览器,那么标题就无法修改。
有没有办法(使用PHP)我可以执行重定向以将用户带到另一个页面(显然不使用标题)
如果是这样,你能给我指出一些文档吗?
我知道,只要数据已发送到浏览器,那么标题就无法修改。
有没有办法(使用PHP)我可以执行重定向以将用户带到另一个页面(显然不使用标题)
如果是这样,你能给我指出一些文档吗?
决定编写我自己的php函数,实现javascript重定向。请参阅下面的代码。
function redirect($url)
{
$string = '<script type="text/javascript">';
$string .= 'window.location = "' . $url . '"';
$string .= '</script>';
echo $string;
}
我假设输出缓冲不是一个选项,因为您提到数据已发送。使用元重定向,或输出处理此问题的JavaScript。
前者可以通过在本节中添加以下内容来实现<head>
<meta http-equiv="refresh" content="0; url=http://example.com/">
对于后者,编写如下内容可能会有所帮助:
<script type="text/javascript">
window.location = "http://example.com/";
</script>
将 http://example.com/ 替换为目标网址。请注意,如果确实发送了某些数据,后者可能会更灵活地实现。
需要注意的是:这两种方法都可以在客户端被阻止,但从技术上讲,301和302重定向也是如此。