проблема маршрута codeigniter - PullRequest
3 голосов
/ 17 июня 2011

результат, который я хочу:

greeting/102/steve =>  greeting/index/102/steve

в приветствии. Php:

function index($order,$name)
{
    echo "order: $order , name : $name ! ";
}    

в файле route.php:

$route['greeting/(:num)/(:any)'] = "greeting/index/$1/$2";    

полученный результат:

order : , name : steve !

Ответы [ 2 ]

3 голосов
/ 17 июня 2011

На самом деле, это право использовать двойные кавычки.Это даже указано в руководстве (помимо сотен раз), поэтому я не вижу проблемы, на которую указывает @cwallenpool.Ваша маршрутизация выглядит хорошо, убедитесь, что она называется после зарезервированных маршрутов

$route['default_controller'] = "welcome";
$route['404_override'] = '';
$route['greeting/(:num)/(:any)'] = "greeting/index/$1/$2";

.Я предлагаю вам попробовать $this->uri->rsegment(n) (информацию о руководстве пользователя здесь ), чтобы поймать перенаправленный сегмент URI, который вызывает у вас проблемы.(аналогично $this->uri->segment(n), но разработан специально для перенаправленных URI)

Вы также можете попробовать изменить $config['uri_protocol'] с AUTO на PATH_INFO (или одну из других альтернатив) и посмотреть, не возникает ли проблема.Не забудьте также удалить часть index.php в $config['index_page'], если вы используете htaccess для удаления index.php из вашего URL.

0 голосов
/ 21 апреля 2016

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

Может быть, вы можете взглянуть на это, может быть полезно в вашем случае.

https://github.com/aajiwani/LaravelRoutingForCodeIgniter

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...