URL-адрес контроллера URL-адреса

Я собираю простой сетевой сайт и хотел бы, чтобы URL-адреса работали подобно facebook, поэтому, набрав имя domain.com/username, я бы получил профиль пользователя. Я могу сделать это уже таким образом

Профиль пользователя

domain.com/ 

профиль других пользователей

 domain.com/home/username 

Контроллер по умолчанию называется home, и в настоящее время я использую функцию _remap для проверки дополнительных параметров URL для отображения разных данных на основе того, что является или не передано.

Мой вопрос заключается в том, как я могу отобразить это, чтобы получить доступ к профилям пользователей:

 domain.com/username 

Я могу использовать параметр route.php? Htaccess?

вы должны добавить следующее правило в свой config / routes.php

 // Profile Route $route['(:any)'] = 'home/$1'; 

это приведет к перенаправлению всего вашего запроса на домашний контроллер .

поэтому domain/michelle будет перенаправлен как domain/home/michelle но в этом случае все ваши запросы будут перенаправлены на домашний контроллер, например. domain/pages/about будет также перенаправлен в domain/home/pages/about wich false.

 domain/michelle => domain/home/michelle // TRUE domain/pages/about => domain/home/pages/about // FALSE 

поэтому вы ДОЛЖНЫ добавить для каждого запроса тождественное правило перед профилем , например. $route['pages/(:any)'] = 'pages/$1';

положил все это вместе :

 // Page Route $route['pages/(:any)'] = 'pages/$1' // Last Profile Route $route['(:any)'] = 'home/$1'; 

Это не самая простая вещь в Codeigniter. Для этого вам нужно сначала определить все маршруты, которые вы используете в routes.php, и до конца файла, который вам нужно добавить в строку, который отправит все остальные запросы вашему контроллеру, который будет проверять, существует ли пользователь.

 $route['stores/(:any)'] = 'stores/$1'; $route['pages/(:any)'] = 'pages/$1'; $route['(:any)'] = "home/$1"; //this route will return user's page 

Вы можете сделать это, изменив файл routes.php, доступный в файле application / config. Чтобы узнать больше о routes.php. Вот маршрут маршрутизации URI в Codeigniter