Вопрос

Пожалуйста, помогите, я хочу использовать первый сегмент URI в мой веб-сайт Codeigniter.

Как будто я открываю этот URL, они открывают мой профиль:http://www.facebook.com/buddyforever. илиhttp://www.myspace.com/zarpio.

Как я могу сделать это с Codeigniter? Я проверил _remap Функция, но первый подходящий контроллер Как скрыть контроллер?

Это было полезно?

Решение

Вы можете сделать это, используя маршрутизацию URL из Codeigniter ...

Если вы хотите, чтобы ваш URL был http://www.mydomain.com/zarpio и вы хотите, чтобы это обратиться к your_controller, Затем сделайте следующее.

/config/routes.php.

$route['(.*)'] = "your_controller/$1"; // Now, `zarpio` will be passed to `your_controller`

Вы можете получить доступ к нему в вашем контроллере, как это ...

$my_name = $this->uri->rsegment(2);

Однако я не предлагаю этот способ настройки URL. Лучший способ был бы ...

$route['users/(.*)'] = "your_controller/$1";

Таким образом, вы просто переименяете имя вашего контроллера your_controller к users.

Если вы хотите получить доступ к профилю пользователя, вы можете сделать это так ...

$route['users/profile/(.*)'] = "another_controller/method/$1";
$route['users/(.*)'] = "your_controller/$1";

Рассмотрим порядок маршрутизации. Так как вы написали users/(.*) В вашем маршруте он будет соответствовать users/zarpio так же как users/profile/zarpio, и тратить их оба your_controller/$1, что в случае профиля даст вам 404 page not found ошибка. Вот почему вам нужно написать users/profile/(.*) до users/(.*) в вашей конфигурации маршрутизации.

Больше информации в Документация класса URI CodeCigigniter

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top