使用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?
我做错了什么?
$route['(:any)'] = 'all/index/$1';
$route['default_controller'] = 'all/index';
$route['404_override'] = '';
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [PT,L]
$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';
如果需要进一步的信息,我很乐意提供。
答案 0 :(得分:3)
$this->uri->uri_string()
返回包含完整URI的字符串。例如,如果这是您的完整网址:
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#"