2014-01-25 5 views
1

Пусть base_url является «http://www.facebook.com»Как передать значение/переменную непосредственно контроллеру по умолчанию в codeigniter?

По умолчанию контроллера «Главный»

Как я закодировать свои маршруты и контроллер, чтобы получить мой URL, как «http://www.facebook.com/noddycha»

Где «noddycha» является параметром прибудет , Страница должна загружать мою страницу профиля из БД.

+0

Предполагаемый домашний контроллер имеет метод 'index()' по умолчанию, пусть он принимает параметр для вашего $ user_profile. –

+0

Возможный дубликат [CodeIgniter: Страница не найдена при передаче параметров контроллеру?] (Http://stackoverflow.com/questions/2751807/codeigniter-page-not-found-when-passing-parameters-to-a-controller) –

ответ

0

В прикладном/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 пойдет на о нас странице.

Смежные вопросы