我基本上做的是:
else
{
// redirect to home/login
redirect('home/login');
return null;
}
它似乎适用于所有主流浏览器,但不适用于 Opera。我找不到问题。也许你们知道,我怎么能解决这个问题?先感谢您。
Soltuion 重新安装并重置为默认设置修复了该错误。好像我有一些奇怪的重定向配置。
我基本上做的是:
else
{
// redirect to home/login
redirect('home/login');
return null;
}
它似乎适用于所有主流浏览器,但不适用于 Opera。我找不到问题。也许你们知道,我怎么能解决这个问题?先感谢您。
Soltuion 重新安装并重置为默认设置修复了该错误。好像我有一些奇怪的重定向配置。
我认为它应该通过提供完整的网址来工作。
尝试这个 :
别的 { // 重定向到主页/登录 重定向(base_url()。'home/login'); 出口(); }
CodeIgniter 的redirect(..)
方法支持两种重定向模式(location
发回Location:
标头,refresh
输出刷新标签)。
默认情况下(您正在使用的那个)它使用location
,它应该可以正常工作,但仅在您之前没有向浏览器输出任何内容的情况下(忽略输出缓冲)。
如果一切都失败了,你总是可以尝试使用refresh
这样的模式:
redirect('/home/login', 'refresh');
PHP 中的 location 标头函数需要使用完整的绝对 URL。与相关浏览器一起工作的浏览器不遵守规范,他们只是在做他们所做的,因为他们对他们认为你想要实现的目标做出假设。
将 URL 更改为绝对 URL,看看是否可以解决问题。
解决方案
重新安装并重置为默认设置修复了该错误。好像我有一些奇怪的重定向配置。
使用服务器端重定向。对于 php,它将如下所示:
<?php
/* This will give an error.
* Note the output above, which is before the header() call */
header('Location: http://www.example.com/');
exit;
?>
尝试使用 PHP 标头:
header("Location:your/site/url/home/login");
exit;