通过 htaccess + Codeigniter 传递 GET 参数


Passing GET parameters through htaccess + Codeigniter

我正在使用CodeIgniter Framework和这个.htaccess命令来表示"nice urls"。

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 参数 od 外部 ajax 脚本(例如:基于 CODEIGNTER 的 ElFinder

感谢您的建议


编辑:
我只是在Elfinder上使用POST方法解决了这个问题:Elfinder - 请求类型
但是顺便说一句,在这个 .htaccess 中使用带有标记"?"的代码点火器中的 $_GET 参数是不可能的

您是否通读了有关 URI 段的 CodeIgniter 文档?

它解释了如何传递actiontime参数。

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

class Admin extends CI_Controller {
    public function xxx($action, $time) {
        // Stuff
    }
}

或者,正如@War10ck建议的那样,您可以使用Input类来获取所需的$_GET参数。

例如
class Admin extends CI_Controller {
    public function xxx() {
        $action = $this->input->get('action');
        $time = $this->input->get('time');
    }
}