кодовые маршруты - PullRequest
       4

кодовые маршруты

0 голосов
/ 16 августа 2011

нужно следующее: я использую codeigniter 2.02, я удаляю index.php с htaccess

У меня есть пост контроллера и с маршрутом

$route['(:any)'] = "post/index/$1";

И я получаю то, что яхочу: domain.com/14 вместо domain.com/post/14

НО теперь у меня есть следующие контроллеры, которые я хочу, например: логин, член и т. д.

Но если я перейду кdomain.com/login Я перенаправлен на domain.com ... так что если кто-то может найти мне решение, чтобы я мог перейти к контроллеру входа ... с некоторым регулярным выражением с маршрутами!

это мои маршруты:

$route['default_controller'] = "index";
$route['404_override'] = '';
$route['(:any)'] = "post/index/$1";
$route['signup/(:any)'] = "signup/index/$1";

и вот какой эффект мне нужен:

domain.com/camera-33455-cannon-2001
domain.com/samsung-6678-new-gallaxy-2

, а также для получения других контроллеров, таких как

domain.com/signup

tnx

Ответы [ 2 ]

3 голосов
/ 16 августа 2011

Маршруты обрабатываются в том порядке, в котором они указаны в вашем файле routes.php. Поэтому, если вы ставите свои контроллеры сверху, (:any) должен просто обрабатывать все, что ранее не обрабатывалось.

Попробуйте изменить его на:

$route['default_controller'] = "index";
$route['404_override'] = '';
$route['signup/(:any)'] = "signup/index/$1";
$route['(:any)'] = "post/index/$1";
2 голосов
/ 16 августа 2011

Вам нужны только цифры для маршрута post/index?Вам может быть лучше использовать это:

$route['default_controller'] = "index";
$route['404_override'] = '';
$route['signup/(:any)'] = "signup/index/$1";
$route['(:num)'] = "post/index/$1";

Таким образом, /15 будет перенаправлять на /post/index/15, но /bob все равно будет загружать контроллер Bob.

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