1

使用 CI,当我这样做时:

var_dump($this->uri->uri_string());

var_dump($this->config->item('base_url'));

在控制器all和方法index()中,我得到这些输出:

string 'dropbox/derrek/shopredux/afsgasg/sasga' (length=36)

string 'http://localhost/dropbox/derrek/shopRedux/' (length=40)

不应该$this->uri->uri_string()输出:afsgasg/sasga?我做错了什么?

我的 routes.php 配置

$route['(:any)'] = 'all/index/$1';

$route['default_controller'] = 'all/index';

$route['404_override'] = ''; 

我的 .htaccess 与 index.php 在同一文件夹中

RewriteEngine on

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^(.*)$ index.php/$1 [PT,L]

我的 config.php 配置

$config['base_url'] = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http");
$config['base_url'] .= "://".$_SERVER['HTTP_HOST'];

$config['base_url'] .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);

$config['index_page'] = '';

$config['uri_protocol'] = 'AUTO';

如果需要进一步的信息,我很乐意提供。

4

1 回答 1

3
$this->uri->uri_string()

返回具有完整 URI 的字符串。例如,如果这是您的完整 URL:

http://example.com/index.php/news/local/345 该函数将返回:

新闻/本地/345

在http://codeigniter.com/user_guide/libraries/uri.html查看

所以在你的情况下:: url 是

http://localhost/dropbox/derrek/shopRedux/#something#

所以它会输出"dropbox/derrek/shopRedux/#something#"

于 2012-09-03T12:34:26.017 回答