in config.php file put this small code bellow base_url array
$config['base_url'] = ' ';
//try to catch the base url in case of undefined base url
if (!$config['base_url']) {
$domain = $_SERVER['HTTP_HOST'] . $_SERVER['SCRIPT_NAME'];
$domain = preg_replace('/index.php.*/', '', $domain);
if (!empty($_SERVER['HTTPS'])) {
$config['base_url'] = 'https://' . $domain;
} else {
$config['base_url'] = 'http://' . $domain;
}
}
and in autoload.php file you need to add url in helper array like this:
$autoload['helper'] = array('url');
Your code will work fine if you call base url function
base_url();
If this still not works for you then you need to create an .htaccess file in root folder of the project. write the following code in .htaccess file:
RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [QSA,L]
I hope any of the above solution will work for you.