0

我基本上做的是:

else
{
    // redirect to home/login
    redirect('home/login');
    return null;
}

它似乎适用于所有主流浏览器,但不适用于 Opera。我找不到问题。也许你们知道,我怎么能解决这个问题?先感谢您。

Soltuion 重新安装并重置为默认设置修复了该错误。好像我有一些奇怪的重定向配置。

4

6 回答 6

0

我认为它应该通过提供完整的网址来工作。
尝试这个 :

别的
{
    // 重定向到主页/登录
    重定向(base_url()。'home/login');
    出口();
}
于 2013-01-11T09:48:19.890 回答
0

CodeIgniter 的redirect(..)方法支持两种重定向模式(location发回Location:标头,refresh输出刷新标签)。

默认情况下(您正在使用的那个)它使用location,它应该可以正常工作,但仅在您之前没有向浏览器输出任何内容的情况下(忽略输出缓冲)。

如果一切都失败了,你总是可以尝试使用refresh这样的模式:

redirect('/home/login', 'refresh');
于 2013-01-11T09:45:58.863 回答
0

PHP 中的 location 标头函数需要使用完整的绝对 URL。与相关浏览器一起工作的浏览器不遵守规范,他们只是在做他们所做的,因为他们对他们认为你想要实现的目标做出假设。

将 URL 更改为绝对 URL,看看是否可以解决问题。

于 2013-01-11T09:51:37.333 回答
0

解决方案

重新安装并重置为默认设置修复了该错误。好像我有一些奇怪的重定向配置。

于 2013-01-11T10:08:17.623 回答
0

使用服务器端重定向。对于 php,它将如下所示:

<?php
/* This will give an error. 
 * Note the output above, which is before the header() call */

header('Location: http://www.example.com/');
exit;
?>
于 2013-05-25T05:37:28.513 回答
0

尝试使用 PHP 标头:

header("Location:your/site/url/home/login");
exit;
于 2013-01-11T09:38:26.050 回答