Codeigniter маршрутизация с закодированными параметрами - PullRequest
0 голосов
/ 04 марта 2011

В моем файле config / rout.php установлено следующее правило маршрута:

$route["add/url/(:any)"] = "add/url/$1/$2/$3";

Это работает нормально, если параметры не имеют закодированных значений, поэтому работает следующее:

http://site.com/add/url/true/www.google.co.uk/Google/

но это не так:

http://site.com/add/url/true/http%3A%2F%2Fwww.google.co.uk/Google/

Кажется, что событие не попадает в функцию контроллера, страница просто говорит «Объект»не найдено!'.Что мне делать?

Ответы [ 2 ]

0 голосов
/ 26 апреля 2011

Два решения, которые я нашел:

  1. base64 параметры и декодирование в методе контроллера (убедитесь, что заменены +, =, /)
  2. передают значения какСтрока запроса
0 голосов
/ 04 марта 2011

Попробуйте это

$route["add/url/[A-Za-z0-9/%]"] = "add/url/$1/$2/$3";

или

$route["add/url/([\w][%])"] = "add/url/$1/$2/$3";

Я не совсем уверен во втором, но первый код работает.

Пожалуйста, пройдите черезСтатья Регулярное выражение в Википедии для получения дополнительной информации о регулярном выражении.

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