我正在使用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 文档?
它解释了如何传递action
和time
参数。
例如,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');
}
}