【问题标题】:codeigniter redirect not workingcodeigniter重定向不起作用
【发布时间】:2017-05-03 12:38:06
【问题描述】:

由于某种原因我无法发现,codeigniter 中的重定向不起作用。我得到了死亡的白屏。

我设置了一个“测试”控制器:

class Test extends Controller {
    function Test() {
        parent::Controller();
        $this->load->helper('url');
    }

    function index() {
         redirect('home','refresh');

    }
}

(我已经尝试了位置和刷新参数,没有帮助)。

这是我的 .htaccess 文件:

DirectoryIndex index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./index.php/$1 [L,QSA]

我以前用过所有这些,效果很好。还有什么我可以检查的吗?

谢谢。

约翰

【问题讨论】:

  • 一个好的开始方法是启用config.php 中的所有调试和信息性消息,将日志阈值设置为4,删除今天的日志文件(如果存在),然后运行您的脚本。您可能会在日志文件中找到一些有价值的信息。同样为了安全起见,请确保您可以正常访问测试/索引(尝试回显某些内容)。
  • 您的home 控制器是什么/在哪里?
  • Madmartigan,我会尝试你的建议。谢谢!
  • Ross,我的主控制器是该站点的主页。它工作正常。

标签: codeigniter redirect


【解决方案1】:

事实证明,将日志阈值设置为 4 是解决此问题的答案。我能够确定我正在输出一些空间,这阻止了重定向工作。查看日志发现了这一点。

感谢大家的帮助,感谢 Madmartigan 建议的日志设置。

【讨论】:

    【解决方案2】:

    尝试添加 ?在你最后的重写规则中 index.php 的末尾:

    RewriteRule ^(.*)$ ./index.php?/$1 [L,QSA]

    如果这不起作用,请尝试将您的 $config['uri_protocol'](如果设置为 AUTO)更改为:

    $config['uri_protocol'] = 'REQUEST_URI';

    【讨论】:

      猜你喜欢
      • 2018-12-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-15
      • 2015-02-28
      • 2013-08-13
      • 1970-01-01
      • 2016-02-14
      • 2020-03-01
      相关资源
      最近更新 更多