Я собираю простой сетевой сайт и хотел бы, чтобы 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