PHP - Codeigniter - 重定向循环

时间:2014-03-18 15:07:24

标签: php .htaccess codeigniter redirect codeigniter-2

每当我在[website].com访问我的网站时,该网页将不断重定向,直到浏览器显示This webpage has a redirect loop

BUT

当我访问[website].com/[controller]时,一切正常。


并非所有这些都可能相关,但我会列出尽可能多的信息。

routes.php中的默认控制器为welcome

欢迎控制器:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Welcome extends CI_Controller
{
    public function index()
    {
        // Testing: Does not reach this die statement
        die('error');
        //$this->load->view('public/welcome');
    }
}

.htaccess文件:

RewriteEngine On
RewriteCond $1 !^(index\.php|assets|robots\.txt)
RewriteRule ^(.*)$ index.php?/$1 [L]

更新


这可能是一个问题,但我有[website].com域指向子文件夹/public_html/[website].com/,其中我有Codeigniter文件夹结构以及index.php和{{1 }}

3 个答案:

答案 0 :(得分:1)

我的.htaccess看起来像这样:

RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]

我的routes.php看起来像这样:

$route["default_controller"] = "welcome";
$route["404_override"] = "";

我的控制器就在这条道路上:

  

/codeigniter/2.1.4/application/controllers/Welcome.php

我不是.htaccess wiz但是你可以尝试让你的匹配我的吗?

<强>更新

您可以将.htacess完全取消等式(通过移动,重命名或删除文件内容)并尝试访问这些网址吗?

http://www.your-website.com/index.php

http://www.your-website.com/index.php/welcome

http://www.your-website.com/index.php/welcome/index

答案 1 :(得分:1)

因此,通过一些调试,我发现任何.htaccess文件都没有重定向。它实际上是CodeIgniter框架。更具体地说,是Hook

钩子的问题使它不断重定向到[website].com,试图访问默认控制器welcome ...然后重定向,依此类推。

哦,小事!

感谢大家的帮助!

答案 2 :(得分:1)

我通过设置&#34; $ config [&#39; sess_encrypt_cookie&#39;]&#34;的值来解决了这个问题。到&#34; TRUE&#34; 在我的情况下,这是由于安全级别对cookie值进行了清理。 但加密cookie数据解决了这个问题。