0

我已经从我的 url 中删除了 index.php 但现在我需要从 url 中获取一些变量,CI 解决方案是更新 config.php

$config['uri_protocol'] = "PATH_INFO";
$config['enable_query_strings'] = TRUE;

当我在 url 中使用 index.php 时,这项工作完美,但我需要它而不需要 index.php

这是我的 httacess

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA

任何解决方案?, 谢谢

4

2 回答 2

0

你看过 Elliot Haughin 的 CodeIgniter 的 Facebook 库吗?它可能会提供一些关于在 Facebook 中使用 CI 的见解。

http://www.haughin.com/code/facebook/

于 2010-12-30T02:05:22.057 回答
0

我在 CI 中遇到了同样的问题,所以我编写了这个函数来从 $_SERVER['REQUEST_URI'] 变量中获取查询字符串并提取它们。

function extract_querystrings() {
    $uri = $_SERVER['REQUEST_URI'];
    $uri = explode('?',$uri);
    if (count($uri)>1) {
        foreach($uri AS $ur) {
            $ur = explode('&',$ur);
            foreach($ur AS $u) {
                $u = explode('=',$u);
                if ($u[0]=='/') continue;
                $this->query_strings[$u[0]] = $this->input->xss_clean($u[1]);
            }
        }
    }
    //echo '<pre>',print_r($this->query_strings,true),'</pre>';
}

此函数在我的自定义主控制器的 __construct() 中调用。

您可以修改以下行

$this->query_strings[$u[0]] = $this->input->xss_clean($u[1]);

$_GET[$u[0]] = $this->input->xss_clean($u[1]);

看看它是否适合你。

于 2010-12-30T02:32:20.607 回答