通过htaccess + Codeigniter传递GET参数

时间:2015-01-08 22:57:13

标签: php .htaccess codeigniter mod-rewrite

我正在使用CodeIgniter Framework将此.htaccess命令用于“不错的网址”。

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

所有网址,例如:

  • example.com/admin/xxx/
  • 传递为 - > example.com/index.php?admin/xxx/(看起来像CodeIgniter的?/class/method/

但问题是:我如何通过$_GET参数?例如:

  • example.com/admin/xxx/?action=die&time=now

我需要使用GET params od外部ajax脚本(f.e。:基于CODEIGNTER的ElFinder)

感谢您的建议


修改:
我在Elfinder上使用POST方法解决了这个问题: Elfinder - Request type
但顺便说一下在codeigniter中用$ _GET params标记“?”用这个.htaccess,是不可能的

1 个答案:

答案 0 :(得分:1)

您是否阅读了URI segments上的CodeIgniter文档?

它解释了如何通过您的actiontime参数。

例如,example.com/admin/xxx/die/now将匹配Controller

class Admin extends CI_Controller {

    public function xxx($action, $time) {
        // Stuff
    }

}

或者@ War10ck建议你可以使用Input类来获取所需的$_GET参数。 e.g。

class Admin extends CI_Controller {

    public function xxx() {

        $action = $this->input->get('action');
        $time = $this->input->get('time');

    }

}