CodeIgniter重定向不在真正的服务器上工作

时间:2013-06-17 08:13:40

标签: codeigniter redirect codeigniter-2 hmvc

我遇到了CI 2.1.3重定向功能的问题。

每当我调用重定向时,它都会显示一个白色空白页面。事实上,它在我的localhost上运行良好,问题就发生在我的真实服务器上(安装了CentOS 5)。

这就是我调用重定向的方式:

redirect('frontend/article/index');

or

redirect(base_url('articles.html'));

我在config / routes.php中添加了一个路由

$route['articles.html'] = 'frontend/article/index';

with:frontend是module,article是controller,index是action(我正在使用wiredesignz's HMVC module扩展名)

我该如何解决?这有什么问题?

提前致谢!

更新

我通过调用

替换了CI重定向功能

标题(“位置:http://example.com”);

但它也没有用。

所以我创建了一个名为info.php的文件并将其上传到我的服务器。这是内容:

<?php
phpinfo();
?>

当我在地址栏中输入http://example.com/info.php时,它会在图片中显示。

enter image description here

为什么会有“&gt;”字符?这是导致重定向不起作用的问题吗?

2 个答案:

答案 0 :(得分:2)

首先,确保启用错误报告,或尝试将以下内容放在index.php的顶部。

error_reporting(E_ALL | E_WARNING | E_NOTICE);
ini_set('display_errors', TRUE);

如果这不能指向正确的方向,请确保在您的输出之前没有输出echoprint_rprintdump等调用redirect()方法。

迁移到新环境时的另一个常见原因是空白区域。检查您的文件底部是否有任何空格。

答案 1 :(得分:1)

如果你在config.php中将.html定义为文件ext。你不需要用它来修改路线。

$route['articles'] //instead of $route['articles.html']

此外,您还需要从不需要的重定向cos中删除base_url()。

redirect('articles'); //should sort it

希望这能解决你的问题。

修改

如果在尝试进行这些更改后仍然无法正常工作,则很可能是控制器中的问题。如果是这种情况,您可能需要在index.php文件中打开错误报告,以确切了解问题发生的位置。