In /application/config/config.php:
PHP Code:
$config['uri_protocol'] = 'REQUEST_URI';
In /application/config/routes.php:
PHP Code:
$route['translate_uri_dashes'] = true;
The translate_uri_dashes setting in the routes file allows CI to map something like /classes-and-courses/holiday-courses to a controller named Classes_and_courses and a method named holiday_courses(). You don't necessarily need this setting, though. You can just set the routes manually, like this:
PHP Code:
$route['classes-and-courses/holiday-courses/(:any)'] = 'classes_and_courses/holiday_courses/$1';
$route['classes-and-courses/(:any)/(:any)'] = 'classes_and_courses/$1/$2';
$route['classes-and-courses/(:any)'] = 'classes_and_courses/$1';
The question is, which URL "works" with which setting?
When the classes-and-courses URL doesn't "work", how are you trying to get the query string? For example, have you tried $this->input->get('utm_medium')?