CodeIgniter: Страница не найдена при передаче параметров в контроллер? - PullRequest
2 голосов
/ 02 мая 2010

Я пытаюсь передать параметры элементу управления в codeigniter, но получаю ошибку 404 страницы не найдена, я не получаю ее, я сделал то, что говорится в руководстве: http://codeigniter.com/user_guide/general/controllers.html#passinguri

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

Вот код, которым я пытаюсь отправить параметр:

http://mysite/123

<?php
class Main extends Controller {

    function index($username) {

        echo $username;

    }

}
?>

Как я могу получить больше информации об этой ошибке от codeigniter?

Спасибо.

Ответы [ 2 ]

10 голосов
/ 02 мая 2010

С этим URL CodeIgniter не может понять, хотите ли вы передать 123 методу index или если вы запрашиваете метод 123 без параметров. Вы должны явно назвать метод по умолчанию, если вам нужно передать ему некоторые параметры.

http://mysite/index/123
5 голосов
/ 02 мая 2010

Вариант 1 - переназначить вызов функции в вашем контроллере

Если ваш контроллер содержит функцию с именем _remap (), она всегда будет вызываться независимо от того, что содержит ваш URI. Он отменяет нормальное поведение, при котором URI определяет, какая функция вызывается, что позволяет вам определять свои собственные правила маршрутизации функций. http://codeigniter.com/user_guide/general/controllers.html#remapping

Вариант 2 - Использовать пользовательский маршрут.

http://codeigniter.com/user_guide/general/routing.html

...