В прикладном/routes.php файла добавьте следующую строку после $route['404_override'] = '';
:
$route['(:any)'] = 'users/profile';
Теперь абсолютно все будет перенаправлен на profile
функцию контроллера users
(или комбинации в зависимости от того контроллер/функция, которую подставляются в маршрутах .php). Тогда вы можете получить параметр, делая это в profile
функции:
if ($this->uri->total_segments() === 1) {
$profile = $this->uri->total_segment(1);
}
Если у вас есть какие-то другие контроллеры, которые вы еще хотели бы, чтобы иметь возможность доступа, например, о нас, добавьте их после указанной выше строки в файле routes.php. Например, если мы расширим пример выше:
$route['(:any)'] = 'users/profile';
$route['home/about'] = 'home/about_us';
Это будет означать, что каждый запрос отправляется функции users/profile
, кроме http://example.com/home/about
пойдет на о нас странице.
Предполагаемый домашний контроллер имеет метод 'index()' по умолчанию, пусть он принимает параметр для вашего $ user_profile. –
Возможный дубликат [CodeIgniter: Страница не найдена при передаче параметров контроллеру?] (Http://stackoverflow.com/questions/2751807/codeigniter-page-not-found-when-passing-parameters-to-a-controller) –